Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Feb 2016 12:30:33 +1100
From:      Andrew Reilly <areilly@bigpond.net.au>
To:        rakuco@freebsd.org, ports@freebsd.org
Subject:   openblas 0.2.15,1 port broke build for BARCELONA AMD core
Message-ID:  <7251C627-A9CC-49F8-A12D-1412D77493EF@bigpond.net.au>

next in thread | raw e-mail | index | archive | help
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=E2=80=99ve 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=E2=80=99s just been =
a version increase that still doesn=E2=80=99t 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 =E2=80=9CBARCELONA=E2=80=9D

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=E2=80=99m not sure if it wouldn=E2=80=99t have been better to slide =
that in with case 6, because model=3D1 and support_avx()->0, so that =
would have worked too.

the full set of get_cputype() values for my machine are:
family=3D0xf, exfamily=3D0x3, model=3D0x1, exmodel=3D0x0, support_avx=3D0

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=E2=80=99m 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=E2=80=99t have to remember to do this all again =
next time!

Cheers,

=E2=80=94=20
Andrew




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7251C627-A9CC-49F8-A12D-1412D77493EF>