AnsweredAssumed Answered

Bug in ACML 5.3.1 for open64 on AMD Bulldozer using acml_mp

Question asked by ake on Jan 30, 2014



One of our users found the following problem when using the mp version of ACML 5.3.1 (exists in 5.3.0 too)

Compiling the attached file with

opencc -o oq -O0 -g -std=c99 -openmp acml-bug.c -Lpath-to-acml-lib -Wl,-rpath,/path-to-acml-lib -lacml_mp -lm

and then run with

for i in `seq 1 12`; do echo $i; OMP_NUM_THREADS=$i ./oq 71 1; done

you will see that it produces different results from the two identical calls to dgemm

the results differs between number of threads and also if you repeat the loop it will give a different set of diffs.

The result should be no diffs printed.


If i instead use the GCC, Intel or PGI version of the acml lib the result is always correct.