<div dir="ltr"><div>Barry, made the LU solver "thread safe" in that each thread calls a serial solve, for Ed (cc'ed). </div><div><br></div><div>Ed has a test code (attached) that can be run with 16 threads (aprun -n 1 -d 16) and NUM_OPENMP_THREADS=16. This code seems to work with Intel compilers but fails with PGI.</div>
<div><br></div><div>I've appended a stack trace. Any ideas?</div><div><br></div><div>Mark</div><div>Note, the line numbers are not quite right in tpetsc.F90 but the rest look OK.</div><div><br></div><div>#11 tpetsc () at /autofs/na3_home1/adams/petsc/src/ksp/ksp/examples/tutorials/tpetsc.F90:144 (at 0x0000000000422afa)</div>
<div>#10 matcreateseqaij_ () at /autofs/na3_home1/adams/petsc/src/mat/impls/aij/seq/ftn-custom/zaijf.c:14 (at 0x0000000000474e95)</div><div>#9 MatCreateSeqAIJ () at /autofs/na3_home1/adams/petsc/src/mat/impls/aij/seq/aij.c:3574 (at 0x000000000053c8b1)</div>
<div>#8 MatSetType () at /autofs/na3_home1/adams/petsc/src/mat/interface/matreg.c:71 (at 0x000000000050b292)</div><div>#7 MatCreate_SeqAIJ () at /autofs/na3_home1/adams/petsc/src/mat/impls/aij/seq/aij.c:4129 (at 0x000000000053f24a)</div>
<div>#6 MatCreate_SeqAIJ_Inode () at /autofs/na3_home1/adams/petsc/src/mat/impls/aij/seq/inode2.c:99 (at 0x000000000058b205)</div><div>#5 PetscOptionsEnd_Private () at /autofs/na3_home1/adams/petsc/src/sys/objects/aoptions.c:516 (at 0x000000000043fc25)</div>
<div>#4 PetscFreeAlign () at /autofs/na3_home1/adams/petsc/src/sys/memory/mal.c:72 (at 0x0000000000483f89)</div><div>#3 free () from /dsl/lib64/<a href="http://libc-2.11.3.so">libc-2.11.3.so</a> (at 0x00002aaab5bcc4fc)</div>
<div>#2 malloc_printerr () from /dsl/lib64/<a href="http://libc-2.11.3.so">libc-2.11.3.so</a> (at 0x00002aaab5bc7558)</div><div>#1 __libc_message () from /dsl/lib64/<a href="http://libc-2.11.3.so">libc-2.11.3.so</a> (at 0x00002aaab5bc1e2f)</div>
<div>#0 abort () from /dsl/lib64/<a href="http://libc-2.11.3.so">libc-2.11.3.so</a> (at 0x00002aaab5b85fb0)</div><div><br></div><div><br></div><div><br></div></div>