Go: x/build: set up ppc64/linux and ppc64le/linux POWER9 builders

Created on 8 Feb 2019  路  16Comments  路  Source: golang/go

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!

Builders FrozenDueToAge arch-ppc64x new-builder

Most helpful comment

I hereby bless continued use of OSU.

All 16 comments

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:

https://github.com/golang/build/blob/da35c5f8393ceb4ddf77a333b424c3cc4799a70f/dashboard/builders.go#L378-L395

@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:

image

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.

Was this page helpful?
0 / 5 - 0 ratings