openblas 0.2.15,1 port broke build for BARCELONA AMD core
Andrew Reilly
areilly at bigpond.net.au
Sat Feb 27 01:30:43 UTC 2016
Hi there,
My portmsaster run just broke on the recent openblas upgrade, with version stamp in head/math/openblas/Makefile 409114 26-02-18 16:35:48Z rakuco. Now that I’ve hacked on this to make it build, I remember having done something like this the last time, so perhaps nothing has actually changed in this respect, there’s just been a version increase that still doesn’t know about my CPU.
My build/target machine is, according to sysctl:
hw.machine: amd64
hw.model: AMD A6-3500 APU with Radeon(tm) HD Graphics
hw.ncpu: 3
The auto-config system for openblas has determined that this is (in config.h):
#define AMD_UNKNOWN
but also
#define CORE_BARCELONA
#define CHAR_CORENAME “BARCELONA”
So on the assumption that the AMD_UNKNOWN should be BARCELONA, I have tweaked cpuid_x86.c to add case 3 along with case 1 and case 10 in the switch(exfamily) to return CPUTYPE_BARCELONA.
I’m not sure if it wouldn’t have been better to slide that in with case 6, because model=1 and support_avx()->0, so that would have worked too.
the full set of get_cputype() values for my machine are:
family=0xf, exfamily=0x3, model=0x1, exmodel=0x0, support_avx=0
The code in cpuid_x86.c thinks that NUM_CORES is 1, despite the sysctl information above, so I guess that only one core is going to be used, but since this is not a high performance machine and is generally thermally challenged, I’m not too concerned about that. Just want it to build at all.
With this couple of tweaks the math/openblas port seems to have built OK, so I hope that this change can be included in the port or the up-stream so that I don’t have to remember to do this all again next time!
Cheers,
—
Andrew
More information about the freebsd-ports
mailing list