Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
ceseo opened this issue Feb 8, 2019 · 16 comments
Closed

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

ceseo opened this issue Feb 8, 2019 · 16 comments
Labels
arch-ppc64x Builders x/build issues (builders, bots, dashboards) FrozenDueToAge new-builder
Milestone

Comments

@ceseo
Copy link
Contributor

ceseo commented Feb 8, 2019

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!

@gopherbot gopherbot added this to the Unreleased milestone Feb 8, 2019
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Feb 8, 2019
@ALTree
Copy link
Member

ALTree commented Feb 9, 2019

cc @dmitshur

@ianlancetaylor
Copy link
Member

@ceseo Who are you asking?

From the point of view of the Go project, I think anywhere reliable is fine.

@ceseo
Copy link
Contributor Author

ceseo commented Feb 11, 2019

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

@bradfitz
Copy link
Contributor

I hereby bless continued use of OSU.

@ceseo
Copy link
Contributor Author

ceseo commented Feb 11, 2019

@bradfitz cool, thanks!

What sizing did you use for the current POWER8 builders? (disk/CPUs/memory)

@bradfitz
Copy link
Contributor

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 /

@ceseo
Copy link
Contributor Author

ceseo commented Feb 11, 2019

Excellent! I'll get this going then.

@dmitshur
Copy link
Contributor

dmitshur commented Feb 21, 2019

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-ppc64-power9-osu
host-linux-ppc64le-power9-osu

("-osu" suffix since they'll also be running at OSU.)

@ceseo
Copy link
Contributor Author

ceseo commented Feb 22, 2019

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.

@gopherbot
Copy link
Contributor

Change https://golang.org/cl/163757 mentions this issue: dashboard: add linux-ppc64le POWER9 builder

@ceseo
Copy link
Contributor Author

ceseo commented Feb 25, 2019

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

@dmitshur
Copy link
Contributor

Excellent! Thanks for sending the CL. I will be able to get to it tomorrow or so, but review from others is welcome too.

@dmitshur
Copy link
Contributor

This is deployed now. The new builder is showing up on build.golang.org:

image

@bradfitz
Copy link
Contributor

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.

@bradfitz bradfitz reopened this Feb 27, 2019
@ceseo
Copy link
Contributor Author

ceseo commented Mar 8, 2019

Yes, I saw that. Sorry for the delay... I was on vacation.

Trying to fix it now.

@ceseo
Copy link
Contributor Author

ceseo commented Mar 8, 2019

@bradfitz it seems to be working now. Please see if you're happy with that and then you can close this issue again.

@bradfitz bradfitz closed this as completed Mar 8, 2019
@golang golang locked and limited conversation to collaborators Mar 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-ppc64x Builders x/build issues (builders, bots, dashboards) FrozenDueToAge new-builder
Projects
None yet
Development

No branches or pull requests

6 participants