Re: apgsearch v4.0
Posted: December 24th, 2018, 10:52 pm
Does apgsearch support non-totalistic B0 rules, and if not, could this be implemented using the B0 and non-totalistic algorithms?
What's the syntax?calcyman wrote:I've also added multistate HROT rules.
All of the syntaxes are listed here:rowett wrote:What's the syntax?calcyman wrote:I've also added multistate HROT rules.
Code: Select all
{'name': 'ghrot', 'regex': 'g[1-9][0-9]*r[2345]b[0-9a-f]*s[0-9a-f]*z?'}
Excellent, thanks.calcyman wrote:All of the syntaxes are listed here:
https://gitlab.com/apgoucher/lifelib/bl ... nuslist.py
Another minor suggestion: why not send a patch (better yet, Gitlab pull request) to do exactly that?muzik wrote:Minor suggestion: if apgsearch can figure out the canonical rule from an incorrectly entered rulestring, why not make apgsearch run using said rukestring instead of prompting the user to reenter it?
Because I'd rather pitch the idea to the community to get their opinions on the idea first. Also, I amn't currently able to put in so much effort to understand how every last bit of how apgluxe works to program in such an admittedly trivial modification, due to external pressures. Can you please stop making these posts? I don't find them helpful in the slightest.Apple Bottom wrote:Another minor suggestion: why not send a patch (better yet, Gitlab pull request) to do exactly that?muzik wrote:Minor suggestion: if apgsearch can figure out the canonical rule from an incorrectly entered rulestring, why not make apgsearch run using said rukestring instead of prompting the user to reenter it?
I think muzik is suggesting that instead of erroring out on an input where apgluxe in fact "knows perfectly well" what the intended rule is, e.g.,muzik wrote:Because I'd rather pitch the idea to the community to get their opinions on the idea first. Also, I amn't currently able to put in so much effort to understand how every last bit of how apgluxe works to program in such an admittedly trivial modification, due to external pressures.
Code: Select all
$ ./apgluxe --rule B3/S23
apgluxe v4.72-ll2.0.27: Rule b3s23 does not match desired rule B3/S23.
...
ValueError: Rule "B3/S23" does not belong to any genus
Code: Select all
apgluxe v4.72-ll2.0.27: Canonical form does not match desired rule B3/S23. Suggestion: re-run with canonical rule form 'b3s23'.
Heh. Pot, meet kettle: I think Apple Bottom has responded to some of your previous feature-request posts in what might as well have been exactly the same words.muzik wrote:Can you please stop making these posts? I don't find them helpful in the slightest.
Then perhaps you'll understand that I feel the same way about yours.muzik wrote:Can you please stop making these posts? I don't find them helpful in the slightest.
Wise words. I'll do my best to get better at this, just ignore those posts, and generally try to be a bit more mellow.dvgrn wrote:Here my two cents is that you both have a point: yes, endless or repeated feature requests can be annoying, if they're vague / not well thought out / seem to expect other people to do a lot of work for no reason the poster bothers to explain. But attempts to control uncontrollable enthusiasm also sometimes tend to reduce the signal-to-noise ratio.
-- Guess I'm still recommending the good old standard method of "everybody just ignore uninteresting stuff". It may be a bit rude, but it works pretty well, and like yoga it gets easier with practice and works whether you believe in it or not.
So it looks like v4.82-ll2.1.5 is at most 2% slower than v4.72-ll2.0.27 -- the 5700003 has only lagged by 10 minutes against the others over a period of 9 hours.benetnasch85 wrote:b3s23/C1 runs more slowly in v4.82-ll2.1.5 than in v4.72-ll2.0.27 under cygwin on our AVX1 machine. You can compare my hauls with these total numbeers of soups:
5700001 v4.72-ll2.0.27
5700002 v4.72-ll2.0.27
5700003 v4.82-ll2.1.5
Code: Select all
$ perf stat ./apgluxe -n 1000000 -t 1 -v 0 -s test
Greetings, this is apgluxe v4.82-ll2.1.5, configured for b3s23/C1.
Lifelib version: ll2.1.5
Compiler version: 5.4.0 20160609
Python version: '2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]'
Using seed test
Running 1000000 soups per haul:
Instruction set AVX-512 detected
b3s23/C1: 56349 soups completed (5634.450 soups/second current, 5634.450 overall).
b3s23/C1: 114513 soups completed (5816.356 soups/second current, 5725.392 overall).
b3s23/C1: 172574 soups completed (5806.087 soups/second current, 5752.287 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Soup test216747 lasts an estimated 740 generations; rerunning...
Soup test216747 actually lasts 637 generations.
b3s23/C1: 229927 soups completed (5735.146 soups/second current, 5748.000 overall).
b3s23/C1: 288338 soups completed (5841.098 soups/second current, 5766.618 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 345489 soups completed (5715.045 soups/second current, 5758.021 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 403149 soups completed (5765.305 soups/second current, 5759.061 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 461350 soups completed (5819.723 soups/second current, 5766.643 overall).
b3s23/C1: 518840 soups completed (5748.872 soups/second current, 5764.667 overall).
b3s23/C1: 576851 soups completed (5800.761 soups/second current, 5768.276 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Rare oscillator detected: xp8_gk2gb3z11
b3s23/C1: 634259 soups completed (5740.787 soups/second current, 5765.776 overall).
b3s23/C1: 691416 soups completed (5715.575 soups/second current, 5761.592 overall).
b3s23/C1: 750053 soups completed (5863.453 soups/second current, 5769.427 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 807875 soups completed (5782.172 soups/second current, 5770.337 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 866358 soups completed (5847.104 soups/second current, 5775.455 overall).
b3s23/C1: 924960 soups completed (5860.183 soups/second current, 5780.750 overall).
b3s23/C1: 982874 soups completed (5791.004 soups/second current, 5781.353 overall).
b3s23/C1: 1000000 soups completed (5846.143 soups/second current, 5782.450 overall).
----------------------------------------------------------------------
1000000 soups completed.
Attempting to contact payosha256.
testing mode
testing
Connection was successful; starting new search...
----------------------------------------------------------------------
Performance counter stats for './apgluxe -n 1000000 -t 1 -v 0 -s test':
172937.817757 task-clock (msec) # 1.000 CPUs utilized
173 context-switches # 0.001 K/sec
0 cpu-migrations # 0.000 K/sec
111,510 page-faults # 0.645 K/sec
569,519,099,179 cycles # 3.293 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
1,060,872,804,196 instructions # 1.86 insns per cycle
113,040,372,246 branches # 653.648 M/sec
6,208,602,123 branch-misses # 5.49% of all branches
173.022732371 seconds time elapsed
Code: Select all
$ perf stat ./apgluxe -n 1000000 -t 1 -v 0 -s test
Greetings, this is apgluxe v4.82-ll2.1.5, configured for b3s23/C1.
Lifelib version: ll2.1.5
Compiler version: 5.4.0 20160609
Python version: '2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]'
Using seed test
Running 1000000 soups per haul:
Instruction set AVX-512 detected
b3s23/C1: 56581 soups completed (5657.942 soups/second current, 5657.942 overall).
b3s23/C1: 114888 soups completed (5830.687 soups/second current, 5744.307 overall).
b3s23/C1: 173123 soups completed (5823.400 soups/second current, 5770.669 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Soup test216747 lasts an estimated 740 generations; rerunning...
Soup test216747 actually lasts 637 generations.
b3s23/C1: 230392 soups completed (5725.778 soups/second current, 5759.443 overall).
b3s23/C1: 288967 soups completed (5857.492 soups/second current, 5779.050 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 346228 soups completed (5725.993 soups/second current, 5770.207 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 404047 soups completed (5781.817 soups/second current, 5771.864 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 462684 soups completed (5863.698 soups/second current, 5783.342 overall).
b3s23/C1: 520302 soups completed (5761.792 soups/second current, 5780.947 overall).
b3s23/C1: 578694 soups completed (5839.198 soups/second current, 5786.771 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
Rare oscillator detected: xp8_gk2gb3z11
b3s23/C1: 636238 soups completed (5754.399 soups/second current, 5783.827 overall).
b3s23/C1: 693553 soups completed (5731.276 soups/second current, 5779.448 overall).
b3s23/C1: 752740 soups completed (5918.583 soups/second current, 5790.150 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 810788 soups completed (5804.471 soups/second current, 5791.172 overall).
Linear-growth pattern detected: yl144_1_16_afb5f3db909e60548f086e22ee3353ac
b3s23/C1: 869065 soups completed (5827.586 soups/second current, 5793.599 overall).
b3s23/C1: 927820 soups completed (5874.941 soups/second current, 5798.683 overall).
b3s23/C1: 986282 soups completed (5846.192 soups/second current, 5801.477 overall).
b3s23/C1: 1000000 soups completed (5799.508 soups/second current, 5801.449 overall).
----------------------------------------------------------------------
1000000 soups completed.
Attempting to contact payosha256.
testing mode
testing
Connection was successful; starting new search...
----------------------------------------------------------------------
Performance counter stats for './apgluxe -n 1000000 -t 1 -v 0 -s test':
172372.363950 task-clock (msec) # 0.999 CPUs utilized
169 context-switches # 0.001 K/sec
0 cpu-migrations # 0.000 K/sec
120,876 page-faults # 0.701 K/sec
567,628,574,448 cycles # 3.293 GHz
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
1,062,851,734,598 instructions # 1.87 insns per cycle
113,693,191,609 branches # 659.579 M/sec
6,137,310,869 branch-misses # 5.40% of all branches
172.459527107 seconds time elapsed
You may have included an interval when the machine wasn't running. It looks to me like the 5700003 run is losing between 2.5 and 3 minutes per hour, which is around 4%.calcyman wrote:So it looks like v4.82-ll2.1.5 is at most 2% slower than v4.72-ll2.0.27 -- the 5700003 has only lagged by 10 minutes against the others over a period of 9 hours.
Oh wow -- that's quite a lot. I haven't been able to reproduce a more-than-negligible performance difference between the two versions (on a Linux machine with AVX-512).benetnasch85 wrote:You may have included an interval when the machine wasn't running. It looks to me like the 5700003 run is losing between 2.5 and 3 minutes per hour, which is around 4%.calcyman wrote:So it looks like v4.82-ll2.1.5 is at most 2% slower than v4.72-ll2.0.27 -- the 5700003 has only lagged by 10 minutes against the others over a period of 9 hours.
It's been a while; are there still any plans to support these (as well as allow catagolue to read them correctly)?calcyman wrote:The missing hexagonal symmetries are C3_3 and D6_3.
These are the timing results from Catagolue (compare only within each group):benetnasch85 wrote:I started looking into this because the reported "soups/second . . . overall" number was noticeably lower for the new version. Now that I have set each instance to run on its own processor, the new version shows a higher number instead of a lower one. That's probably because it's on processor 1 and the other two instances, on processor 2 and 3, may be sharing a core. I do know from previous tests that on this machine running 4 instances gives only about 3.5 times the throughput of running a single instance. I don't think any of our other 4-processor machines are running shared cores, so I may see this effect only on this machine.
Code: Select all
5700003: 13:19 end, 06:21 start (6h 58m)
5700002: 13:43 end, 07:22 start (6h 21m)
5700001: 13:01 end, 08:05 start (4h 56m)
11001201: 14:58 end, 06:48 start (8h 10m)
11001202: 14:52 end, 06:47 start (8h 05m)
11001203: 14:54 end, 06:25 start (8h 29m)
11001204: 15:29 end, 07:02 start (8h 27m)
V4 is faster now than it was a year ago, and it now runs b3s23 faster on all of my machines.tod222 wrote:Should I switch to v4?
Indeed it is!benetnasch85 wrote:V4 is faster now than it was a year ago…tod222 wrote:Should I switch to v4?
Code: Select all
Segmentation fault (core dumped)
Code: Select all
./recompile.sh: line 74: 11760 Segmentation fault (core dumped) ./apgluxe --rule $newrule "$@"
Which rule are you using, and on what CPU architecture?Ian07 wrote:I just updated my apgsearch to v4.87 and keep getting this error whenever the peer review process starts:
If I switch to a new rule the error changes somewhat:Code: Select all
Segmentation fault (core dumped)
Code: Select all
./recompile.sh: line 74: 11760 Segmentation fault (core dumped) ./apgluxe --rule $newrule "$@"