!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

541 Members
Report: https://reproducible.nixos.org Project progress: https://github.com/orgs/NixOS/projects/30123 Servers

Load older messages


SenderMessageTime
25 May 2021
@baloo_:matrix.orgbaloobut getting there is slower23:33:46
@baloo_:matrix.orgbaloothe gcc build measures the compilation of gcc itself to determine hotpaths23:34:27
@baloo_:matrix.orgbalooand feeds that to the compilation to reorder the output assembly23:34:43
@andi:kack.itandi-is that different from their PGO?23:46:19
@baloo_:matrix.orgbaloothat's the pgo23:47:45
@baloo_:matrix.orgbalooand I can't understand why it's not reproducible23:47:58
@andi:kack.itandi-For the python PGO stuff I spotted a few time.time() calls which might make the profile output depend on the current time. Sometimes you might have more odd seconds or whatever which might slightly affect the formatting code or what not23:48:54
@baloo_:matrix.orgbaloohuum23:49:33
@baloo_:matrix.orgbaloothing is23:49:35
@baloo_:matrix.orgbalooit's reproducible on the same machine23:49:43
@grahamc:nixos.org@grahamc:nixos.orglet's patch the kernel to only ever say it is 1 second past the epoch. always.23:49:51
@baloo_:matrix.orgbaloobut going from amd zen1 to zen3 breaks it23:49:56
@andi:kack.itandi-Are they counting how long an instruction takes?23:50:27
@andi:kack.itandi-And then try different versions of the same code?23:50:41
@baloo_:matrix.orgbaloowell ... looks like it, but the thing is: the documentation and the developers says no23:51:00
@baloo_:matrix.orgbaloothere is a specific build profile to get machine-optimized code23:51:25
@baloo_:matrix.orgbalooand this is not the one we had23:51:33
@baloo_:matrix.orgbaloo(machine-optimized is based off perf)23:51:53
@andi:kack.itandi-What profiles are there and can we maybe just specify one that is empty/trivial to reason about?23:52:11
@andi:kack.itandi-Something like a no-op profile to figure out if that is reproducible23:52:43
@baloo_:matrix.orgbaloowell, there is the non-optimized (the one we now run, which is reproducible), the profiledbootstrap (the one we used to run), and the autoprofiled (perf based, which is deemed non-reproducible)23:54:48
@andi:kack.itandi-Are we running the PGO part with just one build job at a time? I just came across a random pastebin stating it would get "confused" otherwise....23:55:02
@baloo_:matrix.orgbalootried that without luck23:55:36
@baloo_:matrix.orgbaloo(tried to inject -j1 in the training stage (the one capturing the feedback))23:56:16
@baloo_:matrix.orgbaloomy plan from this point, is to set up the build on two machines, and run it stage by stage 23:56:34
@baloo_:matrix.orgbalooand compare the intermediate result from one machine to the other23:56:43
@baloo_:matrix.orgbaloo and finger crossed find the issue 23:56:53
@baloo_:matrix.orgbaloobut ... that's a lot of work23:57:04
@andi:kack.itandi-I wonder if the kernel version leaks into the builds.23:57:50
@baloo_:matrix.orgbaloosame kernel version23:58:00

Show newer messages


Back to Room ListRoom Version: 6