>> OK, I'll see about making that change. But does this imply Metis runs >> threaded by default and/or requires TLS to work correctly? > > I'll poke around - it is possible it is using OpenMP parallelism now, but if > so then I would expect to have a __thread or similar function defined > whenever OpenMP works. Perhaps there is a clash of compiler options or > something...
Sure enough: benkirk(18)$ grep pragma *.c csr.c: #pragma omp parallel private(i, j, ncand, rsum, tsum, cand) csr.c: #pragma omp for schedule(static) csr.c: #pragma omp parallel private(i, j, ncand, rsum, tsum, cand) csr.c: #pragma omp for schedule(static) csr.c: #pragma omp parallel if (n > 100) csr.c: #pragma omp single csr.c: #pragma omp for schedule(static) csr.c: #pragma omp parallel if (ptr[n] > OMPMINOPS) csr.c: #pragma omp for private(j,sum) schedule(static) csr.c: #pragma omp parallel if (ptr[n] > OMPMINOPS) csr.c: #pragma omp for private(j,sum) schedule(static) csr.c: #pragma omp parallel if (rowptr[nrows] > OMPMINOPS) csr.c: #pragma omp for private(j, maxtf) schedule(static) ... Looks like Metis is using OpenMP solely in the compressed row stroage handling now. No equivalent directives in Parmetis. -Ben ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel