Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-06-28 | analysis: compute average and cumulative trajectory lengthHEADmasteranalysis | Jan Huwald | |
2013-06-25 | add canon program option to test canonicalisation | Jan Huwald | |
2013-06-25 | . | Jan Huwald | |
2013-06-25 | use ordered map in cycleStat() to get sorted result | Jan Huwald | |
2013-06-25 | change computation of cycle id and redundancy detection | Jan Huwald | |
1. Introduce acanonize(state), which returns a canonical state and a (bit-encoded) label wether the encoded state was itself canonical 2. Use this labelled canonical state as inital color of each state. Now: - every redundant cycle has the same color (except for the label) - of each set of redundant cycles exactly one has the label set 3. Use the extended label to gather loop statistics. | |||
2013-06-25 | fix computation of maxState | Jan Huwald | |
2013-06-25 | . | Jan Huwald | |
2013-06-24 | skip unneccessary loops in findCycle | Jan Huwald | |
2013-06-24 | support canceling iterTrans if no work is done anymore | Jan Huwald | |
A bool is passed to the worker function to store wether any work has been done in an iterState round. To prevent cache line bouncing, each worker thread has its own cache line aligned bool which is ultimately merged. | |||
2013-06-14 | compute cycle redundancy again, refractor, optimize | Jan Huwald | |
2013-06-14 | . | Jan Huwald | |
2013-06-14 | refractor, change cycle identification | Jan Huwald | |
Major changes: - compute cycle id (cycle minimum) in parallel to future state - skip computation of cycle stats for non-canonical cycles Minor changes: - move computation of several arrays around to improve locality and reduce random memory reads - distinguish between State and StateIter: the later can contain maxState + 1 and is used in loops and as pointer. - rename maxState to numState, add acutal maxState - time performance of memory allocation | |||
2013-06-14 | timer: add \t for easier parsing | Jan Huwald | |
2013-06-14 | mmalloc: use placement new instead of casting | Jan Huwald | |
2013-06-14 | mmalloc: only alloc via hugetlb memory areas >= 1 GB | Jan Huwald | |
2013-06-14 | mmalloc: unlink tmp file after opening | Jan Huwald | |
Otherwise it would hang around when the program stops and waste the precious hugetlbfs space (read: RAM). | |||
2013-06-14 | Makefile: fix, improve, restructure | Jan Huwald | |
2013-06-14 | set default bit-width to 16 | Jan Huwald | |
Default value should be quick to see what the program does. | |||
2013-06-14 | remove packed_array | Jan Huwald | |
In addition to being broken by design it was order_s_ of magnitude to slow. Adding cores to the computation increased runtime. | |||
2013-06-07 | add mmalloc.hpp, support hugetlbfs allocation | Jan Huwald | |
2013-06-04 | add verbose timer function, replace bitset w/ packed_array | Jan Huwald | |
Replacing bitset with packed_array is neccessary to allow parallel access to proximate array cells. | |||
2013-06-04 | packed_array: add a little atomic access logic | Jan Huwald | |
2013-06-04 | go to 64-bit State, use bit-packed array | Jan Huwald | |
2013-06-03 | more parallelism, cheap race check | Jan Huwald | |
Assure that at last each parallel thread processes at least maxWorkdSize elements. This garantues that even for packed arrays of bit-sized elements that thread boundaries lie on machine word boundaries. | |||
2013-06-03 | count garden of eden states | Jan Huwald | |
2013-03-06 | add sge_task.sh | Jan Huwald | |
2013-03-06 | add compile-time variable bit length | Jan Huwald | |
2013-02-28 | . | Jan Huwald | |
2013-02-28 | add parallel execution | Jan Huwald | |
2013-02-28 | get memory via mmap, try huge tables and prepopulation | Jan Huwald | |
2013-02-27 | merge symmetric cycles | Jan Huwald | |
2013-02-27 | make iterTrans verbose | Jan Huwald | |
2013-02-27 | add cycle statistics function | Jan Huwald | |
2013-02-27 | Initial commit | Jan Huwald | |