AMD documentation .
feb 2013
AMD cpu's here at AO:
- rserv1: 6172 (opteron 6100 family, K10
microarchitecture) 4x12cores=48 cores. does not support
avx
- rserv2: 6272 (amd 15H family. bulldozer with
interlagos processor core.). 4x16 cores = 64 cores. 128gbMem,
supports avx128
- each processor modules has 2cores and 1 fpu unit. The fpu
has 2 128bits sets of registers so it can do 2 128bit
operations simultaneously (lettting each core run). When the
say that they support "avx" they really mean the 128 bit avx
instructions that emulate sse4. For true 256 bit operation 1
core has to use all of the fpunit.
ACML amd mathlib
- AMD Core Math Library (ACML) version 5.2.0
(.pdf)
- 18feb13- installed /share/megs/phil/x101/amd/amcl/acm5.3.0
- there are different versions for different amd cpus. They
are located in subdirectories of the base:
- without fma4 instruction (rserv1):
- gfortran64
- gfortran64_mp for use with openmp for multi threaded
calls
- with fma4 instruction (rserv2)
- gfortran64_fma4__mp for use with openmp for multi
threaded calls
- we would normally use gfortran64 (rserv1) or
gfortran64_fma (rserv2)
- Each version subdirectory contains:
- examples/.
- include/acml.h
- lib/libacm.a,libacml.so (note: i've temporarily renamed
the .so to so.save to link with the static version
- To compile, link to the lib use a makefile with (rserv2
example:)
- ACMLDIR=/share/megs/phil/x101/amd/acml/acml5.3.0/gfortran64_fma4
- CFLAGS=-I${ACMLDIR}/include -O3 +
- -march=bdver1 .. optimize for bulldozer (rserv2)
- -mavx -mprefer-avx128 .. avx and optionally only
used 128 bit (sse) versions
- gcc $(CFLAGS) acmlbnch.c -L$(ACMLDIR)/lib -lgfortran -lm
-lrt -o acmbnch
- Until rserv2 gets the full gcc install you need:
- scl enable devtoolset-1.1 "gcc xxxxx"
home_~phil