On Thu, 3 Jul 2014, Baros Vladimir wrote:

> So it could be that the external packages were using OpenMP because compiled 
> applications from my build require an openmp dll.
> 
> With this build I compiled a static version of pthreads-win32 from here:
> https://www.sourceware.org/pthreads-win32/
> 
> and PETSc compiled with those libs. Also configuration stage passed without 
> problems.
> 
> But at the end the tests failed with the unresolved 
> PetscThreadCommCreate_PThread

I'm not sure how you are building petsc [logs?] but 
PetscThreadCommCreate_PThread should
not be refered to unless PETSC_HAVE_PTHREADCLASSES is defined. And if this
flag is defined PetscThreadCommCreate_PThread() would also be compield in.

But then configure disables --with-pthreadclasses option for petsc-3.4, 
petsc-3.5


balay@asterix /home/balay/petsc (maint)
$ git grep PetscThreadCommCreate_PThread
src/sys/threadcomm/impls/pthread/tcpthread.c:#define __FUNCT__ 
"PetscThreadCommCreate_PThread"
src/sys/threadcomm/impls/pthread/tcpthread.c:PETSC_EXTERN PetscErrorCode 
PetscThreadCommCreate_PThread(PetscThreadComm tcomm)
src/sys/threadcomm/impls/pthread/tcpthreadimpl.h:PETSC_EXTERN PetscErrorCode 
PetscThreadCommCreate_PThread(PetscThreadComm);
src/sys/threadcomm/interface/threadcommregi.c:PETSC_EXTERN PetscErrorCode 
PetscThreadCommCreate_PThread(PetscThreadComm);
src/sys/threadcomm/interface/threadcommregi.c:  ierr = 
PetscThreadCommRegister(PTHREAD, PetscThreadCommCreate_PThread);CHKERRQ(ierr);


Satish
> 
> 
> Vladimir
> 
> -----Original Message-----
> From: Jed Brown [mailto:[email protected]] 
> Sent: Thursday, July 03, 2014 15:26
> To: Baros Vladimir; [email protected]
> Cc: Shrirang G. Abhyankar
> Subject: Re: [petsc-dev] PETSc 3.5.0 compilation on Windows and OpenMP with 
> pthread
> 
> Baros Vladimir <[email protected]> writes:
> > previously I successfully built PETSc with Intel compiler (the last 
> > successful build was 3.4.4) using OpenMP libraries.
> >
> > In version 3.5.0, OpenMP package depends on pthread library which 
> > doesn't exist on Windows.  Why this new requirement and what do you 
> > recommend to use on Windows?
> 
> Your old Windows configuration of PETSc was not actually using OpenMP.
> 
> 
> The threaded implementations use a "thread communicator" which was activated 
> by the optional package "pthreadclasses".  OpenMP is not used by PETSc 
> without "threadcomm" and we are refactoring the whole thing so please don't 
> use it at this time.
> 

Reply via email to