#soylent | Logs for 2021-12-16

« return
[00:31:02] -!- Runaway1956 [Runaway1956!I492@lyhj.vsegda.budet.freeznc.ru] has joined #soylent
[00:31:52] Runaway1956 is now known as SoyGuest90923
[00:33:07] SoyGuest90923 is now known as Runaway1956
[00:43:48] <Bytram> =folding-rank
[00:43:48] <systemd> Rank: 10391 | WUs: 10174,364 | Score: 103,098,517,839 (10Wed Dec 15 23:39:40 GMT 2021)
[01:46:52] <Bender> [SoylentNews] - Finally, a Fusion Reaction Has Generated More Energy Than Absorbed by the Fuel - https://sylnt.us - high-precision
[01:54:46] <Runaway1956> Thinking about a security camera. I don't even understand the lingo, so the first reviews I'm looking at only give me terms to search for. NVR? Oh well - dive into it I guess.
[01:56:29] <Runaway1956> Ahhhh - Power over Ethernet Network Video Recorders - got it.
[01:59:24] <Bytram> Runaway1956: Why not submit a story to soylentnews under the topic "Answers"? Given a [short] summary of what you've found and ask for people's *experiences* (that's QUITE different from asking for opinions), though you're free to ask whatever, of course!
[02:00:05] <Runaway1956> I've actually given that idea a thought in the past
[02:00:20] <Runaway1956> I'm terrible at documenting my experience along the way
[02:00:27] <Runaway1956> Atrocious even.
[02:01:40] * Runaway1956 opens a text editor and types in what little he has learned so far . . .
[02:02:14] <Runaway1956> =blame
[02:02:15] * systemd points at Bytram
[02:07:26] <Bytram> does not have to be "publication ready". Just enough to show you've done at least *some* work; that you're not throwing up your hands and laying it on the community to solve your problem *for* you! =)
[02:08:46] -!- boru` [boru`!~boru@nowhere] has joined #soylent
[02:08:48] -!- boru has quit [Killed (NickServ (GHOST command used by boru`))]
[02:08:51] boru` is now known as boru
[02:57:38] <Runaway1956> Huh. My new french fry cutter is gone. "Oh, we need one like that!" "You got 20 bucks?" "Here, have $20, and I'm going to wrap it for my wife's Christmas as soon as she goes to bed!"
[02:57:58] <Runaway1956> It was nice, for one potato at least.
[02:58:07] <Runaway1956> Ordered another from the same source.
[03:35:47] -!- AzumaHazuki [AzumaHazuki!~hazuki@mvx-66-270-248-277.buffalo.res.rr.com] has joined #soylent
[03:35:47] -!- AzumaHazuki has quit [Changing host]
[03:35:47] -!- AzumaHazuki [AzumaHazuki!~hazuki@the.end.of.time] has joined #soylent
[04:48:04] <Bender> [SoylentNews] - Inventing the Atari 2600 - https://sylnt.us - playing-games
[06:33:08] <FatPhil> Found this interesting - quite a mix: https://cms.zerohedge.com
[07:27:03] <Bender> [SoylentNews] - SK Hynix to Manufacture 48 GiB and 96 GiB DDR5 Modules - https://sylnt.us
[07:41:35] <Runaway1956> If they shrink it much more, they can just put modules on the CPU!
[07:42:47] <Runaway1956> 2 GB L1, 16 GB L2, and 96 GB L3 caches sound good to me! Never again touch system RAM.
[07:45:15] -!- AzumaHazuki has quit [Quit: Lost terminal]
[07:50:31] <chromas> FatPhil: if it's embarrassingly parallel, why doesn't it parallelize itself?
[07:51:24] <FatPhil> too embarrased to do that
[07:52:13] <chromas> I s'pose I could port it to D so it automatically parallelizificates but [fart noise]
[07:52:35] <chromas> butt if you give me a range I'll run it
[07:52:54] <chromas> mine's slightly slower than JR's; I got 6 whatever the number was
[07:53:02] <chromas> 6700 ms
[07:53:05] <chromas> jesus wept
[07:53:18] <chromas> but my ram's running at shit 2100 or whatever the default is
[07:53:21] <FatPhil> if you can do 1000000,1100000 that would be great!
[07:53:32] <chromas> ram speed affects cpu speed a lot on ryzens I guess
[07:53:34] <boru> What are we doing here? Code golf?
[07:53:35] <boru> AoC?
[07:53:37] <FatPhil> this won't even touch RAM
[07:53:41] <chromas> mental masturbation
[07:54:00] <chromas> I even tried building pari for maximum optimization and I think it ran even slower
[07:54:34] <boru> I have lots of spare cores here. Need me to run something?
[07:54:52] <chromas> You have to individually run the script on each core
[07:55:00] <chromas> with a different range
[07:55:11] <boru> I've got 32 spare on this machine, and 128 spare on my big iron.
[07:55:16] <chromas> you need something called pari and the script here http://fatphil.org
[07:55:17] <systemd> ^ 03Simultaneously Square Sums of Mostly Squares
[07:55:21] <FatPhil> 8-o
[07:55:22] <boru> I know what pari is.
[07:55:28] <chromas> nobody else does
[07:55:43] <boru> Just give me the feckin script to run.
[07:55:48] <chromas> it's called pari and it doesn't even do pari, lels
[07:56:02] <chromas> no
[07:56:06] <chromas> you have to work for it
[07:56:11] <chromas> or look at that page
[07:56:42] <boru> Will pari eat a script, or do you have to inject it into the prompt?
[07:57:01] <FatPhil> you can create a script file for it, yes
[07:57:25] <boru> So, change the upper bound for the loop or what?
[07:57:37] <chromas> running 1000000,1100000 now
[07:57:37] <chromas> yeah
[07:57:41] <chromas> and lower bound
[07:57:49] <boru> What bounds should I set, FP?
[07:57:57] <chromas> so I guess start at 1100001
[07:58:25] <boru> Can pari scripts take arguments?
[07:58:36] <FatPhil> only 0.0001% of your cpu is wasted if you overlap by 1
[07:58:41] <boru> Would be nice to be able to set the bounds on the command line.
[07:59:14] <FatPhil> boru: nafaik, yeah, I agree. The commandline is just the filename.
[07:59:39] <boru> It prints out how many threads it can run, so is it parallelising itself?
[07:59:49] <FatPhil> I can experiment with some tricks to see if I can fool it into cooperating
[08:02:14] <boru> I have an idea. I'll post the script when I'm finished.
[08:03:22] <chromas> ooh it's got parallel functions, like parfor
[08:03:29] * chromas tries swapping that in place of for
[08:04:13] <boru> For the inner or outer loop?
[08:05:00] <chromas> I tried outer but no go
[08:05:14] <chromas> "must not access global variables or local variables declared with local(),
[08:05:14] <chromas> • must be free of side effect."
[08:05:44] <chromas> dangit bobby
[08:06:31] <FatPhil> new script updated that takes a range from the commandline: http://fatphil.org
[08:06:31] <systemd> ^ 03Simultaneously Square Sums of Mostly Squares
[08:06:37] <chromas> could make a shell script that does a sed and pipes the output I guess
[08:07:09] <boru> No need for sed, one moment. I almost have something.
[08:08:28] <boru> I am also trying to see if I can fold parallel(1) into it.
[08:10:21] <FatPhil> woh - I didn't know about parfor()
[08:10:26] <janrinok> FatPhil, range: 250000-400000
[08:10:29] <janrinok> 36743 36743 265127
[08:10:29] <janrinok> 5304 5304 270529
[08:10:29] <janrinok> 141855 141855 294946
[08:10:29] <janrinok> 35320 35320 297409
[08:10:30] <janrinok> 27936 257076 298228
[08:10:30] <FatPhil> I haven't used pari for about 10 years
[08:10:31] <janrinok> 42484 42484 306544
[08:10:32] <janrinok> 16400 16400 320000
[08:10:34] <janrinok> 76708 350336 350336
[08:10:36] <janrinok> 47399 47399 360823
[08:10:37] <FatPhil> wheee!!
[08:10:38] <janrinok> 5571 5571 369522
[08:10:40] <janrinok> 191552 379456 379456
[08:10:42] <janrinok> time = 11h, 12min, 46,770 ms.
[08:10:58] <boru> First hacky pass: http://sprunge.us
[08:11:06] <boru> Looking into parallel(1) now.
[08:11:12] <chromas> How much does enabling the timing and stuff affect the speed?
[08:11:50] <boru> Err, with backticks around `mktemp` naturally.
[08:12:05] <boru> Now that it matters in this case, I get, but it will for parallelisation.
[08:12:32] <FatPhil> not at all, timing's just per interpreter line, and the for loop invocation is one line
[08:14:22] <boru> Give me the next 32 sets of bounds.
[08:15:03] <janrinok> I can see that boru is moving this whole thing up a few gears!
[08:15:24] <boru> I'm working on something not very interesting at work at the moment.
[08:15:34] <boru> And this won't take long.
[08:15:36] <janrinok> :)
[08:15:44] -!- progo has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
[08:16:13] <janrinok> you just happen to have a supercomputer sat in the corner doing nothing....?
[08:16:30] <boru> Well, it's not doing nothing, but I can pause a bunch of things it's doing.
[08:16:36] <janrinok> lol
[08:19:03] <FatPhil> boru: nobody else is doing anything above 1100000 presently, so you can grab your own range.
[08:19:34] <boru> So the increment to the upper bound doesn't matter?
[08:19:52] <FatPhil> completely arbitrary sized ranges, they're all independent of each other.
[08:21:16] <boru> Okay, thans.
[08:21:18] <FatPhil> janrinok: a very interesting result in your set - 16400 16400 320000 has a huge GCD, I should check the others for high GCDs. There's no scaling property that maps smaller solutions onto bigger ones, so that's quite freakish.
[08:21:20] <boru> Thanks, even.
[08:21:36] -!- progo [progo!~progo@lntc-121-1-27-871.nwrknj.fios.verizon.net] has joined #soylent
[08:21:44] <FatPhil> well, thonk you, you're the one putting the effort in!
[08:24:20] <boru> Feh, I will get the shell to generate a series of terms for me. It is tedious to type them out.
[08:24:40] <FatPhil> write a script to write a script
[08:24:44] <boru> Yes.
[08:24:54] <janrinok> shall I start on 400000 to 500000?
[08:25:03] <FatPhil> you don't think the f2=... line was created by hand, do you? :D
[08:25:14] <FatPhil> that was written by a perl script!
[08:25:19] <boru> Tell me what ranges you are running, janrinok.
[08:25:35] <boru> Also, bear with me. I will deliver two scripts for us to run shortly.
[08:26:14] <janrinok> boru, nothing at the moment
[08:26:25] <janrinok> just starting my day slowly
[08:26:26] <chromas> make a cgi script to hand out ranges so the shell script can hit it up with curl to automatically fill in the range
[08:26:42] <FatPhil> janrinok: I think the results will start to thin out somewhat, and boru might be pushing this well into the very-few-results-beyond-this range.
[08:27:19] <janrinok> OK, I'll hang tight for a while - shower, have breakfast etc - but if you need me I am around.
[08:27:26] <chromas> squaring@home
[08:27:29] <FatPhil> a couple of decades back, I did have a range server for precisely this task.
[08:28:07] <FatPhil> I wasn't planning on ramping this up to a big project :/
[08:28:08] <chromas> when will we get cubings?
[08:32:47] <janrinok> I'll be interested to see just how quickly a 'real' computer does these things
[08:33:30] <FatPhil> It would be interesting to see how quickly a real mathematician can come up with a proper analysis of the problem.
[08:33:50] <janrinok> I don't think my twin/quad core machines from a decade ago are really cutting the mustard today - but they meet my usual needs
[08:34:02] <janrinok> FatPhil, lol
[08:34:12] <FatPhil> I've added some notes about reserved ranges in the results table on the webpage
[08:36:51] <chromas> Need to come up with a formula to calculate which ranges can be skipped
[08:39:11] <FatPhil> technically any a==5(8) can be skipped, but the f2 checks in the b loop reject such inputs immediately. it's an o(n) cost in an O(n.log(n)) problem.
[08:39:42] <FatPhil> I read knuth
[08:40:05] <FatPhil> Got the cheque to show for it too - $3.20
[08:40:19] <FatPhil> Of course I didn't cash it - who does?!??!
[08:42:52] <boru> Just doing a test run here.
[08:49:10] <boru> Out of curiosity, are range groups of 100000 going to take a while?
[08:49:28] <boru> This machine is humming along here, everything maxed out.
[08:52:49] <FatPhil> 100000s will probably start to be day-length jobs, but they get slower with higher numbers
[08:53:08] <FatPhil> where are you topping out, so I can update the webpage?
[09:01:10] <boru> Work interrupt. Bear with me.
[09:03:08] <FatPhil> I understand interrupts, today will be one big one alas.
[09:03:49] <FatPhil> It seems as if Italy has changed their covid requirements, and we're flying via italy, so I need to find a covid test in the next 24 hours!
[09:06:37] <janrinok> not that it will affect you - but there are changes about to be announced in many European countries. France has said it will change 'soon', the UK is seeing a massive increase in omicron, etc
[09:07:06] <janrinok> I believe Germany is also considering increased testing
[09:07:30] <janrinok> I hope it doesn't spoil your holiday plans
[09:08:55] <FatPhil> it could be worse - I might bump into ari and 20 sockpuppets whilst on holiday!
[09:11:07] <boru> Okay, so: the base work script: http://sprunge.us the job generator script: http://sprunge.us -> run the latter as `./script work_script.sh n_jobs start_term increment > jobs` and then `parallel -jn_jobs < jobs`
[09:11:23] <FatPhil> I'm a terrible traveller anyway, I don't like strange environments, the stress is almost making me not want to leave at all!
[09:11:28] <boru> They're hacky scripts, so errors probably won't be helpful.
[09:12:46] <boru> e.g. save the first as `work_script.sh` and the second as `generator.sh` and then run: `./generator.sh ./work_script 32 1 5000 > jobs` and then `parallel -j10 < jobs`
[09:13:06] <boru> You'll need to install parallel, of course.
[09:17:18] <boru> IIRC, parallel will buffer stdout until the process exits, which is a bit annoying...
[09:17:38] <FatPhil> yeah, in order to serialise the output, it needs to do that.
[09:17:59] <boru> Serialisation isn't default, aiui.
[09:19:00] <boru> It'll create .fatphil files as artifacts with the results.
[09:19:57] <boru> So, who is doing what bounds?
[09:20:48] <boru> And in case it wasn't obvious above, you specify how many jobs you want in parallel with parallel's `-j` argument.
[09:23:47] <FatPhil> boru: at the moment you're in charge of selecting what sized bounds you want from 1100000 upwards, janrinok can pick up from wherever you say you'll stop, and I'll add both to the table.
[09:24:14] <boru> Rgr. I'll use smaller increments so I can check up on the status
[09:24:57] <FatPhil> I presume the task overhead's pretty low, so slices could be really quite narrow, that would help the serialisation not be too jerky with delays.
[09:25:25] <boru> So slices of 10k?
[09:25:29] <boru> Less?
[09:25:56] <FatPhil> probably fine - your guess is as good as mine now!
[09:26:08] <boru> I'll start with that.
[09:29:14] <FatPhil> looks like they'll be between 1 hour and 2 hour per slice.
[09:30:54] <boru> Hmm, let me tweak some job parameters, then.
[09:31:36] <boru> I'll try some smaller slices, perhaps.
[09:32:28] <boru> I'll start with 10 jobs in parllel, 100 total, 5k slices from 1100000 for a test run.
[09:32:48] <boru> Later, I'll give it more cores to work on.
[09:33:00] <FatPhil> so that's to 1600000?
[09:33:41] <boru> Well, moreso just testing at the moment. If you want me to do real work, I can set it up in a while.
[09:34:19] <boru> Let me run the test, then I will come back with concrete job numbers.
[09:34:32] <boru> I need to free up some RAM.
[09:34:53] <boru> I've got a bunch of RAMdisks for other tasks I need to park first.
[09:39:10] <FatPhil> looking at the distribution of results, they're not getting that sparse yet. not enough data to really measure their density
[09:40:04] <FatPhil> I find it amazing that by the end of the day I'll have twice as much data!
[09:40:05] <boru> Can't you use what's his name's formula to compute ranges?
[09:40:06] <FatPhil> Thanks all!
[09:41:00] <FatPhil> I've not worked out the exact Big-Oh of the the running times yet.
[09:44:46] <boru> Shouldn't be too hard.
[09:47:48] <FatPhil> I'm just happy I managed to get it down from O(n^3) to O(n^(2+o(1))), but the o(1) term can make a big difference
[09:49:21] <boru> Imagine how much faster it'd be in C with gmp.
[09:50:35] <FatPhil> I did contemplate rewriting it in C, but then I discovered my system was fucked, and I've been trying to fix that!
[09:50:37] <boru> FWIW, `-lb` will give you "live" stdout from the parallel child processes.
[09:51:34] <FatPhil> somehow in the debian-devuan upgrade some dependencies got messed up. I think it's fixed now.
[09:58:43] <boru> I just noticed, I really need to top off my water cooling resevoir.
[09:59:26] <boru> Temps on this machine are hovering around 60C on this job, so I'll give it a few more cores later.
[09:59:41] <FatPhil> fancy
[10:04:02] <FatPhil> this is the absolute BEAST I was running on: https://www.thebookpc.com
[10:04:03] <systemd> ^ 03MSI Cubi Mini PC with Intel Celeron 3205U Broadwell Processor
[10:04:16] <boru> I'll tarball up the results when it's done here.
[10:04:31] <boru> This is just on the 1950x I'm working on here at the moment.
[10:04:58] <boru> I've OC'd it a little bit to 4GHz.
[10:04:58] <FatPhil> you can mail them to fatphil@soylentnews.org
[10:05:16] * boru nods.
[10:05:46] <FatPhil> I'm the kinda guy who wants h/w to last 10 years, so have never overclocked a thing!
[10:06:29] <boru> I like to fuse Si into Ge.
[10:07:46] <inz> Last machine I O/C's was a double celeron 333A
[10:08:10] <inz> But that was because I bought it that way, and when I tried to run it with normal clock, it didn't boot up.
[10:08:14] <FatPhil> when you need to power it from a deuterium reactor, then you're getting serious
[10:08:22] <FatPhil> ha!
[10:09:09] <inz> Oh, actually, I did try overclocking a rpi1b (of which I got 8 for free), but it pretty much didn't do jack.
[10:10:11] <janrinok> 10% of not very much is still not very much
[10:11:08] <janrinok> probably got a bit warmer though
[10:17:41] <Bender> [SoylentNews] - "When a Newspaper Publishes an Unsolvable Puzzle" - https://sylnt.us - not-Sudoku
[10:47:41] <janrinok> FatPhil - COVID UK tourists are banned from France starting from Saturday. Don't know if this trend will spread throughout the EU. I realise you are not a 'tourist' but it might be that EU countries might be tightening travel restrictions in the next few days.
[11:01:02] <FatPhil> greece (the final destination) is havning a brief downturn in case counts, so we might be fine.
[11:01:22] <FatPhil> however, we're kinda expecting the unexpected
[11:02:15] <FatPhil> just come across another official webpage that implies we don't need a recent negative test in order to go via italy, so I don't know what to do now.
[11:02:25] <FatPhil> drink ouzo
[11:03:11] <FatPhil> oooh, there was another autonomous vehicle trundling around town on my way back from lunch - I've not seen any news stories about this live test yet.
[11:19:56] <inz> Did you try to run under it?
[11:20:16] <inz> Or paint line traps to the road?
[11:21:16] <FatPhil> I didn't cross the road using the shortest route, so I could see if it planned in advance for me being alongside it.
[11:21:28] <FatPhil> \m/,
[11:21:34] <FatPhil> oops, wrong chan
[11:31:46] <boru> Those first jobs have just finished up, FP. Looks like ~114 minutes a piece.
[11:32:08] <boru> Not a bad estimate on your part.
[11:32:52] <boru> 1100000 to 1145000 so far.
[11:41:58] <boru> I just had a look in some of the result files; seems like your program didn't print anything for them. Should that be the case?
[11:42:50] <boru> Just "parisize = 8000000, primelimit = 500000, nbthreads = 32" and "Goodbye"
[11:54:06] <janrinok> It usually prints out the findings but that is within the gp process - not to stdout. No idea where they might be.
[11:55:11] <boru> I'm capturing stdout from the process which prints the header etc. I wonder wtf the fd is for the program output, then.
[11:55:41] <janrinok> boru ^^
[11:56:04] <janrinok> ninja'd - sry
[11:56:15] <boru> I read it, but I'm quite sure it captured program output when I ran it with the test jobs.
[11:56:24] <boru> So perhaps there are just no results in the output.
[11:57:35] <janrinok> it prints them and then returns to the gp prompt, so if you see the 'Goodbye' it is already too late - presumable it would close the fd too
[11:57:49] <janrinok> *presumably
[11:58:14] <boru> It's fine. I ran it with 1 -> 5000 and there are results in the file, so it's just that there are no results in these ranges.
[11:58:32] <boru> "ci 4900 4900" etc
[11:59:03] <boru> Though that looks different from your output where it's three numbers.
[11:59:26] <janrinok> it should be the values for a, b and c
[11:59:35] <boru> I guess I'll just have to wait for FP to return to ask what's up.
[12:00:04] <boru> Or there's a typo in the script line I added. Hmm.
[12:00:34] <boru> Ah yes, there is. Glad I caught that now. I can continue.
[12:00:55] <boru> I guess I'll start the real work now, then.
[12:01:14] <janrinok> good luck!
[12:01:29] <boru> Serves me right for not testing properly.
[12:02:00] <janrinok> well we are all sort of doing this on the fly so to speak.
[12:02:53] <janrinok> I will start the same block running here and if I get ANY results then we know that you should be seeing something in the output
[12:03:11] <boru> Let's do 1 - 5000 and compare
[12:03:25] <janrinok> k
[12:04:10] <boru> I get: http://sprunge.us
[12:05:52] <janrinok> hang on, I'll have to set it up again
[12:06:20] <janrinok> ... but that looks the same as I got when testing yesterday
[12:10:39] <janrinok> ah, when FP updated his web page he reintroduced the unwanted characters again that we took out yesterday
[12:12:53] <boru> Okay, I will wait until he's around again before I do anything.
[12:12:56] <janrinok> I can't get his copy of the formula or yours to run again at the moment
[12:12:58] <boru> No point wasting cycles for nothing.
[12:14:54] <janrinok> Yes, we get the same results
[12:15:14] <janrinok> 4 4 4
[12:15:15] <janrinok> 24 24 73
[12:15:15] <janrinok> 31 135 135
[12:15:15] <janrinok> 144 144 144
[12:15:15] <janrinok> 63 63 162
[12:15:16] <janrinok> 137 224 224
[12:15:17] <janrinok> 136 136 257
[12:15:19] <janrinok> 48 48 292
[12:15:21] <janrinok> 68 304 304
[12:15:23] <janrinok> 160 240 321
[12:15:27] <janrinok> 388 516 516
[12:15:29] <janrinok> 376 376 1337
[12:15:31] <janrinok> 495 495 1351
[12:15:33] <janrinok> 935 935 1879
[12:15:35] <janrinok> 959 959 2087
[12:15:37] <janrinok> 607 1791 3534
[12:15:39] <janrinok> 304 3449 4352
[12:15:41] <janrinok> 3649 4864 4864
[12:15:43] <janrinok> 4900 4900 4900
[12:15:45] <janrinok> time = 10,412 ms.
[12:16:39] * boru nods.
[12:17:14] <janrinok> running your 1100000 1145000 to see if I get anything - it will take a while but I'll should out if I get ANY results at all
[12:17:31] <boru> Let's just wait for FP.
[12:17:39] <janrinok> *I'll shout out
[12:18:10] <janrinok> the computer I'm using is doing nothing else - it might as well be useful
[12:47:00] <FatPhil> what unwanted charactes? we never worked out exactly what was causing the failure. I've not changed the multi-line indented version at all.
[12:49:29] <janrinok> well, a cut/paste caused errors when I tried to run it - so I put it through a simple editor which ignores anything formatting except /n and then it worked again. Didn't bother to look what it didn't like - I just used it.
[12:51:13] <janrinok> I'm just running boru's data to see if there is anything that it should have printed out - It will take a while but I will call if I find anything because he got no output.
[12:52:14] <boru> Okay, so I can just run it as is?
[12:52:28] <FatPhil> the easiest thing to use if you're invoking it from a shell is the invocation using echo
[12:52:45] <boru> I think my script is okay.
[12:52:53] <janrinok> maybe there is nothing to be found but best we check before using lots of computing power to discover that it is throwing away the results.
[12:53:04] <boru> Yeah, agreed.
[12:53:06] <janrinok> boru - so do it but it costs me nothing to check
[12:53:21] <boru> I can wait to check.
[12:55:16] <janrinok> or you can start processing the next block and see if it finds anything.... ?
[12:55:18] <FatPhil> finding nothing in a range of 45000 is not that unlikely
[12:55:53] <FatPhil> if you invoke gp with the -q switch it won't do the boilerplate banner.
[12:56:35] <boru> Okay, so I'll just start it again from 1100000 in slices of 5k
[12:57:43] <boru> I'll give it 20 cores and should have up to 1200000 done in a couple of hours.
[12:57:57] <boru> And email you the results.
[13:04:24] <janrinok> I've probably only got 20 cores spread over my 7 desktops!
[13:04:55] <boru> I'm just running it on this machine for now.
[13:05:23] <boru> I have a lot of housekeeping to do on the big iron to run it there, and then set it all back up again for what it was doing, so I probably won't do that today.
[13:06:49] <Bender> [SoylentNews] - Size Doesn’t Matter: Rock Composition Determines How Deadly a Meteorite Impact Is - https://sylnt.us - can-I-look-up-now?
[13:19:25] <FatPhil> now reading up on https://pari.math.u-bordeaux.fr
[13:19:57] <FatPhil> after completely failing to adapt my script into a parfor() loop
[13:25:03] <chromas> my fpos box has only pooped out two lines so far. still working on it
[13:25:40] * chromas blames omicron persei 8
[13:30:45] * FatPhil gives up. if boru's script works, why diddle with anything confusing that doesn't.
[13:31:34] <boru> Yeah man, the processes are long lived. Might as well just let the shell take care of it.
[13:31:57] <boru> Nothing to be gained by not forking.
[13:36:23] <FatPhil> I think gp should prefork, but I can't get the access, or lack thereof, to the variables sorted out.
[13:36:54] <FatPhil> I've just reserved 1200000-1300000 for inz' machine
[13:37:17] <boru> Right oh. I'll see what ranges are available later.
[13:38:24] <boru> Should I make the scripts available for inz?
[13:38:32] <boru> I fixed the typo I introduced in one.
[13:39:54] <FatPhil> I'm just running them by hand on inz' machine, but I am using the echo|gp invocation which is easier
[13:39:55] <chromas> what was the typo? I tried your scripts and didn't get any errors
[13:40:16] <boru> In the print statement, remove the i charcter beside c.
[13:40:27] <boru> I vim-fingered it when escaping the double quotes.
[13:41:08] <boru> In the pari string, I mean.
[13:41:41] <FatPhil> that's why I prefer the echo version - you don't need to rewrite the script that way
[13:42:08] <boru> I need to add a quit statement anyway.
[13:42:37] <boru> Besides, I'm using echo to replace the variables in the script anyway.
[13:43:13] * chromas adds the -q into the script
[13:43:20] <boru> Yeah, I added that too.
[13:43:37] <boru> And `--lb` to parallel.
[13:49:16] <chromas> the lower ranges end before the higher ones. Does that mean I should have more ranges than processes? Is there a formula to figure out the ratio?
[13:50:00] <boru> If there are more jobs in the job file, parallel will just schedule the next process with the next range.
[13:50:38] <boru> You can generate as many jobs as you want and just use a smaller process pool to grind through them with parallel.
[13:51:05] <boru> e.g. 100 jobs, but only 10 worker processes.
[13:51:16] <boru> One finishes, picks up the next job.
[13:51:32] <chromas> That way the ones that pull out first still have something to do
[13:51:38] <boru> Right.
[13:52:03] <boru> Hence the point of using parallel for this.
[13:53:03] <boru> Essentially, it just supervises a bunch of fork/exec calls.
[13:55:43] -!- inky has quit [Ping timeout: 264 seconds]
[13:56:47] <chromas> So then just cat all the results_* files together and spam them to FatPhil?
[14:08:21] -!- inky [inky!~inky@gvm-lo.effi.org] has joined #soylent
[14:17:21] <FatPhil> yummy yummy spam in my tummy
[14:19:28] <boru> Yeah, basically.
[14:23:28] -!- t3 [t3!~t3@tpdjk.me] has joined #soylent
[14:23:37] <t3> =submit https://www.technologyreview.com
[14:23:38] <systemd> ✓ Sub-ccess! "03The Metaverse Has a Groping Problem Already" (12p) -> https://soylentnews.org
[14:38:28] <inz> Fatso, does this look correct: https://inz.fi
[14:38:30] <systemd> ^ 03inz - homepage
[14:40:22] <chromas> rofl
[14:40:40] <chromas> "His floating hand approached my body, and he started to virtually rub my chest. ‘Stop!’ I cried … This goaded him on, and even when I turned away from him, he chased me around, making grabbing and pinching motions near my chest. Emboldened, he even shoved his hand toward my virtual crotch and began rubbing."
[14:41:18] <chromas> “There I was, being virtually groped in a snowy fortress with my brother-in-law and husband watching.”
[14:41:43] <boru> ...
[14:43:22] <chromas> from t3's link
[14:47:08] <FatPhil> inz: ga's racey, atomic doesn't solve race conditions. however, that will just permit occasional repeating of the same a value, so is probably "harmless".
[14:49:01] <inz> took 7,5 mins to run 1 to 1000000 with 8 threads on my lappy
[14:49:16] <FatPhil> you can add "if(a%8==5) continue;" after a=ga++. No point doing the b loop which will always fail to enter the c loop.
[14:50:07] <FatPhil> I guess I should check whether gcc works - somehow I'd lost libc-dev and nothing would compile!
[14:50:32] <boru> What are you doing now?
[14:54:13] <FatPhil> only returns 3 lines for 1 5000, so something's wrong with the C
[14:54:23] <boru> Show me.
[14:56:38] <inz> FP, it prints only when they all differ
[14:57:04] <inz> if you remove the if (c == b) continue; it'll give out more results
[14:57:37] <inz> (and allow b go all the way to a)
[15:00:15] <inz> At least with those changes I get the same results as your web page
[15:00:39] <FatPhil> Ah, I was wondering where that line came from!
[15:00:52] <inz> I wanted less lines to verify :)
[15:01:24] <boru> Ah, inz wrote a program. I suspected C would be considerably quicker.
[15:01:44] <inz> I updated the source now to spew out more results
[15:02:15] <FatPhil> oh, my, that's quick!
[15:02:46] <inz> Obviously that one will only go to ~2^30 or something like that until 64 bits runs out
[15:03:07] <inz> But don't nobody got time for that anyway :)
[15:05:28] <inz> I used sqrtl, it should have enough santissa precision to represent any 64-bit integer value
[15:05:33] <inz> *mantissa
[15:05:57] <FatPhil> does pthread cope with multiple writers to stdout cleanly?
[15:06:08] <inz> as far as I can tell, yes.
[15:06:49] <inz> At least man 3 printf says "MT-Safe"
[15:07:28] <FatPhil> coolbeans
[15:11:15] <FatPhil> haha - I timed the version with the a&7==5 check and without, and they ran in absolutely identical times. It indeed was an optimisation that wasn't necessary. However, it's mathematically true, so it can stay in even if it doesn't improve the runtime.
[15:11:46] <FatPhil> the love of optimisation is the root of all evil, or something like that.
[15:12:45] <inz> In my test it resulted in 13s saving in CPU time (of ~59,5 minutes)
[15:13:42] <inz> Now if I only understood the math behind the code :)
[15:14:15] <inz> Oh well, that's why I'm a programmer, not a mathematician.
[15:14:38] <FatPhil> the "smarts" is in the mrc/rc bit, otherwise it's brute force.
[15:14:46] <boru> I'd say the two are rather intertwined; compsci is, afterall, based in mathematics.
[15:15:14] <boru> Anyway, these pari jobs finished here.
[15:15:32] <FatPhil> because there *used to be* an if(issquare(a*a+b*b+c)) test, I now simply *only* generate the c's that I know guarantee squares.
[15:16:03] <FatPhil> reduces the Big-Oh by about a whole factor of N.
[15:19:56] <boru> Seemingly just one single result in 1100000 -> 1200000: 70161 250264 1171608
[15:20:46] <FatPhil> the f2[] array is just a test of which abc combos are possible squares mod 8. mod 8 is really useful for square testing, as only 0,1,and 4 are possible. with that done in all 3 dimensions, and intersected for 3 different expressions, it chucks out huge slices of work.
[15:21:29] <FatPhil> boru - It looks like I have a gap of about 100000 too, so it seems it's not too unexpected now.
[15:21:36] <FatPhil> nice - all 3 different!
[15:31:51] <FatPhil> sole existence within the band confirmed using inz's code!
[15:32:00] <FatPhil> wowzers, that code's fast!
[15:32:44] <boru> Yeah, from a cursory glance, it's integer code, so it should be fairly snappy.
[15:33:04] <FatPhil> and with the pthread built in there's no need for any scripting to parallelise externally any more.
[15:33:39] <boru> Yeah, much better.
[15:33:55] <FatPhil> teamwork++
[15:33:55] <Bender> karma - teamwork: 65
[15:34:16] <FatPhil> right, let's get a new job started on inz's machine...
[15:36:50] <janrinok> Is this something that we can all run - sorry I've been busy and not paying attention...
[15:37:44] <boru> Yeah, easily. It's ISO C.
[15:37:55] <boru> Well, plus posix threads
[15:38:19] <boru> So if you have a C11 compiler and pthreads, then you should be good to go.
[15:46:41] <FatPhil> it's insane!
[15:47:05] <FatPhil> I finished off the range using the C, and by the time I'd got to another window to type 'top', it had finished!
[15:47:29] <boru> What did you expect? I alluded to porting it to C earlier in the day for this reason.
[15:47:56] <FatPhil> yeah, that was the plan, then I hit my gcc-doesn't work problem
[15:49:49] <boru> It's also using native integer types and not gmp; the former will by far outperform the latter (which pari uses) until `UINT64_MAX`.
[15:49:58] <boru> Especially given the word size of the underlying machine.
[15:51:13] <FatPhil> yeah, that was why I enjoyed programming the alpha back in the 90s when everyone else was using 16-bit pocket calculators rather than computers.
[15:53:01] <FatPhil> RIP DEC/Compaq, F-You Carly Fiorina.
[15:53:55] <FatPhil> I guess I'll do 1300000-2000000
[15:56:07] <boru> FWIW, inz's code may have a bug.
[15:57:14] <Bender> [SoylentNews] - Startup Showcases 7 bits-per-cell Flash Storage with 10 Year Retention - https://sylnt.us - I-didn't-read-this
[15:58:17] <FatPhil> It looked like a faithful transcription of my code, what do you think the error is?
[15:58:49] <boru> Operator precedence on line 59.
[15:59:02] <FatPhil> ah - -Wall, I forgot that!
[15:59:40] <boru> Also, I have to laugh: I just ran the same range with inz's code, and it took 48s as opposed to over two hours.
[16:00:05] <boru> I'll also try the same range.
[16:01:48] <boru> Found one result already.
[16:01:50] <FatPhil> condition will never be true => "optimisation" never kicks in. Good spot, and fortunately harmless.
[16:02:13] <boru> Two results.
[16:02:32] <FatPhil> it's splorting them out like mad here!
[16:02:52] <boru> I didn't modify the source like you two were talking about earlier.
[16:03:02] <boru> It's the orignal source.
[16:05:00] * FatPhil covers his back and points out he wrote a%8 not a&7 ;-)
[16:08:30] <boru> Finished in 6,5 for 1200000 2000000
[16:08:35] <boru> 6,5m, that is.
[16:08:45] <boru> Nice work, inz.
[16:09:10] <FatPhil> eyah
[16:09:35] <boru> I'll run it again with some minor changes.
[16:10:37] <FatPhil> how many threads were you using?
[16:10:45] <boru> 28.
[16:11:02] <FatPhil> boom! I'd love to see the "top" of that
[16:11:04] <boru> Sorry, the range was 1300000 to 2000000
[16:11:16] <FatPhil> 2798% CPU or something
[16:11:32] <boru> 2800 in htop.
[16:12:08] <FatPhil> Damn, that is so cool.
[16:12:37] <boru> Not finished yet. I spotted some minor amendments, and have turned on optimisation now.
[16:12:51] <FatPhil> I was last doing this lark over a decade ago. There basically weren't wide-multi-core machines in existence.
[16:12:56] <boru> Yeah, same range, same results, 3m
[16:13:15] <FatPhil> oooh
[16:14:11] <boru> So, what next?
[16:14:37] <chromas> moar range
[16:14:54] <boru> Actually, I might have spotted another optimisation.
[16:14:57] * boru investigates.
[16:15:15] <FatPhil> what kind of thing - mathy or codey?
[16:15:32] <boru> Mathy, and then codey.
[16:15:39] <FatPhil> nicey nicey
[16:17:16] <chromas> https://www.youtube.com
[16:17:17] <systemd> ^ 03Nicey Nicey
[16:19:32] <FatPhil> I'll just blast through 2000000 2500000 on 5 cores whilst new code is being worked on.
[16:21:45] <t3> tmon is a nice program, easy to see the planned obsolescence in action
[16:22:00] <t3> fans don't even turn on til the cpu package hits 80C
[16:22:35] <chromas> Gotta flatten the (fan) curve
[16:23:19] <inz> boru, thanks for spotting the booboo, fixed
[16:23:57] <boru> I made a few other minor adjustments to reduce cyclomatic complexity, but the compiler probably sweeps that under the carpet.
[16:24:25] <boru> http://sprunge.us
[16:24:33] <boru> Still looking at this other idea.
[16:26:00] <boru> FP: http://sprunge.us
[16:26:21] <boru> Seems to be fairly linear now.
[16:29:49] <inz> I got these https://inz.fi in the range 1e0 to 3e6
[16:29:55] <inz> Although only the "real" ones
[16:32:02] <inz> oh, no, up to 1e6 only the a != b != c, from there to 3M there's more results
[16:36:46] -!- SoyCow2022 [SoyCow2022!~7892de8c@zqs-646-162-243-166.static.vic.bigpond.net.au] has joined #soylent
[16:36:51] <FatPhil> I am intersted in all the cases, I only separate tehm out for the analysis (the special cases crack mathematically more easily)
[16:37:21] <SoyCow2022> =submit https://www.al-monitor.com
[16:37:23] <systemd> ✓ Sub-ccess! "03Iran Threatens Sanctions Against US Over Treatment of Black Americans" (9p) -> https://soylentnews.org
[16:37:28] <FatPhil> boru: I'm finding it hard to see what's changed mathematically relative to the original.
[16:37:37] <boru> Nothing has.
[16:37:48] <boru> That wasn't the latest version, just some minor adjustments in my first pass.
[16:38:18] <SoyCow2022> =submit https://www.theguardian.com
[16:38:20] <systemd> ✓ Sub-ccess! "03Nasa’s Solar Probe ‘Touches’ Sun for First Time, Dives Into Unexplored Atmosphere" (14p) -> https://soylentnews.org
[16:38:33] <chromas> Welcome back, c0lo
[16:38:58] <SoyCow2022> Heya
[16:39:14] <SoyCow2022> =submit https://www.euronews.com
[16:39:17] <systemd> ✓ Sub-ccess! "03Faster Trains and Cheaper Tickets Under New EU Rail Plans" (20p) -> https://soylentnews.org
[16:40:05] -!- SoyCow2022 has quit [Client Quit]
[16:47:40] <FatPhil> phew, glad I wasn't overlooking anything
[16:48:09] <chromas> Do I need to install extra stuff? I get undefined reference to `sqrtl'
[16:48:19] <boru> You need to link against libm
[16:48:27] <boru> Which is a part of your C implementation.
[16:48:38] <boru> Link with `-lm` after all of the .o files.
[16:48:40] <chromas> ah so I don't just do gcc clah.c
[16:48:46] <chromas> blah.c
[16:49:00] <boru> You'll need to `-pthread` as well.
[16:49:30] <chromas> ah neat
[16:49:31] <chromas> thanks
[16:49:39] <chromas> instant output
[16:50:17] <chromas> lelz, my 1000000,1100000 range is still masturbating at 2 lines
[16:50:27] <boru> Sure. Try: `cc -c -std=c11 -Wall -Wextra -O3 file.c; cc -o file file.o -lm -pthread`
[16:51:22] <FatPhil> Gnu wienie that I am, I do: gcc -Wall -O2 -o sssms2 sssms2.c -lm -lpthread
[16:51:40] <boru> That's fine. It can be done with a single command.
[16:51:49] <boru> FWIW, cc probably evaluates to gcc on your linux machine,.
[16:51:54] <chromas> I was just doing gcc -pthread -lm squares.c
[16:52:06] <chromas> I thought linux quit supporting a.out format but it still works
[16:52:32] <chromas> oh it's secretly an ELF file
[16:53:05] * chromas sets -O9
[16:53:35] <boru> Anything above -O3 evaluates to -O3.
[16:53:42] <chromas> lame
[16:54:05] <t3> I think clang has an O4
[16:54:20] <boru> I think that's -Ofast-math or some such.
[16:54:29] <boru> Which is Bad™.
[16:54:42] <boru> -O3 is also Bad™ sometimes.
[16:54:48] <chromas> 1–100,000 I go from 26 sec to 11 with -O3
[16:55:02] <boru> Anyway, I need to go and run some errands. AFK for a bit.
[16:55:02] <chromas> sweet. this one goes to eleven
[16:55:37] <boru> My idea with Newton's method didn't pan out, so nevermind.
[16:55:51] <boru> It was painfully slower.
[16:56:31] <boru> Those sqrt calls probably evaluate to __builtin_sqrt, which is just the intel instruction in inline assembly, so it probably won't be beaten.
[16:56:33] <chromas> For clang I get "warning: -O4 is equivalent to -O3"
[16:57:38] <chromas> also using clang, even with -O3 takes me back to 26 secs
[16:58:09] <FatPhil> there will be no NaNs, or infinities, or anything dodgy like that, so -Ofast-math should be safe.
[16:59:38] <FatPhil> I think both gcc and clang use SSA now, which I think makes a lot of the more extreme optimisations safer than they used to be.
[17:00:23] <FatPhil> My code looks like SSA anyway, so the compiler hopefully would never get too confused about what it can and can't do.
[17:03:00] <FatPhil> Is anyone a visualisation wizard. I wonder what plotting (log(a),log(b),log(c)) on a 3D scatter chart looks like.
[17:03:30] <FatPhil> Every 5 years, I relearn gnuplot...
[17:07:13] <t3> FatPhil: https://matplotlib.org
[17:07:14] <systemd> ^ 03The mplot3d Toolkit — Matplotlib 3.5.1 documentation
[17:10:56] <FatPhil> python, yikes
[17:11:10] <FatPhil> however, probably easier than gnuplot!
[17:15:30] <inz> boru, yeah, I tried to use GMP pre-calculated modulo checks for the sqrt, but ended up 1) broken, and 2) slower
[17:16:57] <FatPhil> f2[] already gives some of that speedup
[17:17:27] <inz> and yeah, __builtin_sqrtl and sqrtl seem to bear no difference
[17:22:18] <FatPhil> (a*a+b)%55 and (a+b*b)%55 could be precalculated, and then only cs whose squares would permit both sums to be quadratic residues could reduce the number of sqrts by a few, but you'd be adding %55s instead
[18:46:37] -!- t3 has quit [Quit: Lost terminal]
[18:46:42] <Bender> [SoylentNews] - ExoMars Discovers Hidden Water in Mars' Grand Canyon - https://sylnt.us - or-this
[20:16:37] <Runaway1956> https://cdn0.thetruthaboutguns.com
[20:16:53] <Runaway1956> So many deforemed looking things in that photo . . .
[20:17:11] <FatPhil> Holy jesus, fuck this fucking form-filling, and fuck the fucking greeks for making me do all this fucking form-filling.
[20:18:18] <Runaway1956> The greeks? OH, my bad - the fucking greeks?
[20:19:21] <Runaway1956> If you send the forms to me, I'll have the granddaughters fill them out. Their mama has them practicing their writing right now.
[20:20:39] <FatPhil> I have literally spent an hour and a half filling in passenger tracking forms for covid. The greek form, which is more of a webapp, I've now attempted to fill 4 times, and each time, right at the end, it's failed for some inexplicable reason. and there's no backing out the final stage, you have to start again.
[20:21:30] <Runaway1956> Mmmm. Fucking Greeks are as bad as fucking Americans.
[20:21:40] <FatPhil> So many psychopathic gui design misfeatures. I enter my age, and scroll the form in order to see the next field - tada - my age has changed rather than the page scrolling.
[20:22:41] <Runaway1956> Age changed? Are you younger, or older? I might try some of that!
[20:22:54] <FatPhil> scrolling down made me younger
[20:23:12] <Runaway1956> Cool! I'd love to feel 40 again!
[20:24:46] <FatPhil> who wouldn't?!
[20:27:28] <bacteria> what are the a, b, c?
[20:30:00] <bacteria> in your log question, FatPhil?
[20:54:57] <FatPhil> http://fatphil.org
[20:54:59] <systemd> ^ 03Simultaneously Square Sums of Mostly Squares ( http://fatphil.org )
[20:55:20] <FatPhil> I plotted them in libreoffice, and it was just a mess, no pattern at all
[20:55:27] <FatPhil> maybe log squashes them too much
[21:23:00] -!- SoyCow7512 [SoyCow7512!~2d53592c@45.83.sp.hq] has joined #soylent
[21:23:33] <SoyCow7512> Conspiracy theory of the day: Globalists revved up the pandemic and riots because they believed that Trump was actually gonna win, and he was supposed to win.
[21:24:15] <SoyCow7512> But whether or not it was Globalist operatives or Trump operatives who padded the Democrat votes remains a mystery.
[21:25:24] <SoyCow7512> Now Dems are stuck in the awkward position of trying to slam the brakes or hit the gas on accelerating the woke bullshit.
[21:25:34] <SoyCow7512> And as we can see, they're doing both at once.
[21:26:09] * SoyCow7512 kicks self for not investing in Pfizer in 2018
[21:27:05] <SoyCow7512> But about the Dems being in the awkward position of slamming on the brakes, or the gas, depending on who they are.
[21:27:29] <SoyCow7512> if they were "driving" the country it would be the heel-toe style of driving
[21:27:43] <SoyCow7512> Get it? Because heels are in charge of the country now! *Ba-DUM TISS!*
[21:28:18] <SoyCow7512> (I came here just to tell that joke! Hee HEE!)
[21:28:25] -!- SoyCow7512 has quit [Quit: Web client closed]
[21:29:01] -!- SoyCow8249 [SoyCow8249!~2d53592c@45.83.sp.hq] has joined #soylent
[21:29:04] <SoyCow8249> https://www.zerohedge.com
[21:29:05] <systemd> ^ 03Democrat Senator Who Blocked China Forced-Labor Bill Received $60K From Nike Execs In September
[21:29:39] <SoyCow8249> No Ron Wyden what the fuck are you doing?
[21:31:08] <FatPhil> what a hypocrite, coming in here and complaining about cowruption?
[21:31:54] <bacteria> using R it was very easy to plot it
[21:31:57] <bacteria> http://melikamp.com
[21:32:01] <bacteria> http://melikamp.com
[21:33:54] <FatPhil> no idea what angle gnuplot was plotting it from, it looked quite different from that.
[21:34:07] -!- SoyCow8249 has quit [Ping timeout: 264 seconds]
[21:34:28] <FatPhil> it seems the density does come in waves, but I'm not sure that's significant.
[21:34:32] <FatPhil> thanks for that bacteria!
[21:35:42] <Bender> [SoylentNews] - Perseverance Mars Rover Makes Surprising Discoveries - https://sylnt.us - water-or-lava?-yes
[22:27:31] -!- halibut has quit [Ping timeout: 264 seconds]
[22:56:01] -!- halibut [halibut!~halibut@CanHazVHOST/halibut] has joined #soylent
[23:26:04] <FatPhil> Doing 8000000-12000000 overnight on 6 inz cores...
[23:28:33] <FatPhil> 4M-5M took 51m, 5M-6M took 62m, 6M-7M took 73m, 7M-8M took 84m, remarkably linear increase.