Re: [Math-atlas-devel] ATLAS build problem on new Opteron
Brought to you by:
rwhaley,
tonyc040457
From: Kate M. <km...@po...> - 2006-06-07 17:57:28
|
Kate> ERROR 10: vendor='AuthenticAMD', family=15, model=1, x86_64=1 Greg> This is weird, normal model numbers for Opterons are 4 and higher. You might be interested in the values /usr/sbin/prtconf -v gives for the CPU (note in particular the "cpu-model" field, marked with astericks) cpu, instance #0 (driver not attached) Hardware properties: name='l2-cache-size' type=int items=1 value=00100000 name='l2-cache-line-size' type=int items=1 value=00000040 name='l2-cache-lines-per-tag' type=int items=1 value=00000001 name='l2-cache-associativity' type=int items=1 value=00000010 name='l1-icache-size' type=int items=1 value=00010000 name='l1-icache-line-size' type=int items=1 value=00000040 name='l1-icache-lines-per-tag' type=int items=1 value=00000001 name='l1-icache-associativity' type=int items=1 value=00000002 name='l1-dcache-size' type=int items=1 value=00010000 name='l1-dcache-line-size' type=int items=1 value=00000040 name='l1-dcache-lines-per-tag' type=int items=1 value=00000001 name='l1-dcache-associativity' type=int items=1 value=00000002 name='dtlb-4K-fully-associative?' type=int items=1 value=00000001 name='dtlb-4K-size' type=int items=1 value=00000020 name='itlb-4K-fully-associative?' type=int items=1 value=00000001 name='itlb-4K-size' type=int items=1 value=00000020 name='itlb-2M-fully-associative?' type=int items=1 value=00000001 name='itlb-2M-size' type=int items=1 value=00000008 name='dtlb-2M-fully-associative?' type=int items=1 value=00000001 name='dtlb-2M-size' type=int items=1 value=00000008 name='brand-string' type=string items=1 value='Dual Core AMD Opteron(tm) Processor 280' name='ext-cpuid-features' type=int items=1 value=e3d3fbff name='cpuid-features' type=int items=1 value=178bfbff name='chip#' type=int items=1 value=00000000 name='apic-id' type=int items=1 value=00000000 name='chunks' type=int items=1 value=00000010 name='generation' type=int items=1 value=0000000f name='ext-family' type=int items=1 value=00000000 name='stepping-id' type=int items=1 value=00000002 *** name='cpu-model' type=int items=1 value=00000001 name='family' type=int items=1 value=0000000f name='vendor-id' type=string items=1 value='AuthenticAMD' name='cpu-mhz' type=int items=1 value=0000096c name='reg' type=int items=1 value=00000000 name='device_type' type=string items=1 value='cpu' The following code (cut down from atlas-3.7.11/CONFIG/archinfo_x86.c) is saying "model=1" on this machine: **** foo.c ******* #include <stdint.h> #include <stdio.h> static void do_cpuid(uint32_t *dest, uint32_t level) { uint32_t *dst = dest; __asm("cpuid": "=a" (dst[0]), "=b" (dst[1]), "=c" (dst[2]), "=d" (dst[3]) : "a" (level)); } int main() { unsigned *family; unsigned *model; uint32_t r[4]; uint32_t max_level; do_cpuid(r, 1); printf("r[0]= %x\n", r[0]); *family = (r[0] >> 8) & 0xf; if (*family == 0xf) /* extended family is added in */ *family += ((r[0] >> 20) & 0xff); printf("family= %d\n", *family); *model = (r[0] >> 4) & 0xf; if (*model == 0xf)/* extended model is concatenated ... no idea why */ *model |= ((r[0] >> 12) & 0xf0); printf("model= %d\n", *model); return(0); } *** % gcc -o foo foo.c % foo r[0]= 20f12 family= 15 model= 1 % % gcc -v Using built-in specs. Target: i386-pc-solaris2.10 Configured with: /export/home/kate/gcc-4.1.1/src/gcc-4.1.1/configure --enable-languages=c --with-gnu-as --with-as=/export/home/kate/binutils-2.16.1/x86_64-SunOS-gcc-3.4.3-sun/bin/as --with-ld=/usr/ccs/bin/ld --prefix=/export/home/kate/gcc-4.1.1/x86_64-SunOS Thread model: posix gcc version 4.1.1 % I used the following as the bootstrap compiler %/usr/sfw/bin/gcc -v Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/specs Configured with: /builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++ --enable-shared Thread model: posix gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath) % and I get the same results (model= 1) if I use this compiler to build foo. Kate Minola University of Maryland, College Park km...@en... |