In preparation to the work I intend to submit for go1.13, we would certainly need new POWER9 builders to test the new instructions.
Do you have any preferences on where to set these up? Is OSU still fine?
Thanks!
cc @dmitshur
@ceseo Who are you asking?
From the point of view of the Go project, I think anywhere reliable is fine.
@ianlancetaylor thanks! I'd like the opinion of any of the maintainers before start setting them up.
So, I guess I'll set them up at OSU, since our current builders POWER8 are there too.
I hereby bless continued use of OSU.
@bradfitz cool, thanks!
What sizing did you use for the current POWER8 builders? (disk/CPUs/memory)
debian@go-le-1:~$ cat /proc/cpuinfo
processor : 0
cpu : POWER8 (architected), altivec supported
clock : 3425.000000MHz
revision : 2.1 (pvr 004b 0201)
processor : 1
cpu : POWER8 (architected), altivec supported
clock : 3425.000000MHz
revision : 2.1 (pvr 004b 0201)
timebase : 512000000
platform : pSeries
model : IBM pSeries (emulated by qemu)
machine : CHRP IBM pSeries (emulated by qemu)
debian@go-le-1:~$ free
total used free shared buffers cached
Mem: 4177344 1068416 3108928 95552 112768 692352
-/+ buffers/cache: 263296 3914048
Swap: 0 0 0
debian@go-le-1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 40G 0 disk
鈹溾攢vda1 254:1 0 7M 0 part
鈹斺攢vda2 254:2 0 40G 0 part /
Excellent! I'll get this going then.
We need to decide what builder host type names we should use for the new builders. I see we already have "host-linux-ppc64-osu" and "host-linux-ppc64le-osu" host types:
@ceseo In the original issue, you said:
we would certainly need new POWER9 builders to test the new instructions.
Can you elaborate on how the new instructions are different? What are the exact GOOS and GOARCH values? Is it still GOOS=linux GOARCH=ppc64 and GOOS=linux GOARCH=ppc64le and the difference is POWER8 vs POWER9?
Given that "host-linux-ppc64-osu" and "host-linux-ppc64le-osu" host names are already taken, do you think these would be appropriate?
host-linux-ppc64le-power9-osu
("-osu" suffix since they'll also be running at OSU.)
I have a change ready that creates a new env var like GOARM for ppc64/ppc64le. POWER9 has a new ISA, so we want to be able to generate these new instructions in SSA and take advantage of extra performance without breaking POWER8. However, we need to be able to test them. That's why we need a builder.
host-linux-ppc64le-power9-osu is fine.
There's no need for a ppc64 (BE) builder, since there are no Linux distributions supporting POWER9 on big endian at the moment. AIX people might want a ppc64 POWER9 builder in the future, though.
Change https://golang.org/cl/163757 mentions this issue: dashboard: add linux-ppc64le POWER9 builder
@dmitshur I think everything is set now. The builder is showing in the Go Farmer list and the CL for builders.go is submitted. Please let me know if anything else is required.
Excellent! Thanks for sending the CL. I will be able to get to it tomorrow or so, but review from others is welcome too.
This is deployed now. The new builder is showing up on build.golang.org:

Reopening this as they're failing with:
##### moved GOROOT
build cache is required, but could not be located: GOCACHE is not defined and neither $XDG_CACHE_HOME nor $HOME are defined
Looks like some config work remains.
Yes, I saw that. Sorry for the delay... I was on vacation.
Trying to fix it now.
@bradfitz it seems to be working now. Please see if you're happy with that and then you can close this issue again.
Most helpful comment
I hereby bless continued use of OSU.