Hi list,

I searched the archives, but didn't turn anything up...

I have a new machine which I've installed windows 8 x64 + MSVC 2012 (MSVC 11) 
and have compiled openmpi from the git svn clone(on branch origin/v1.6)  using 
these settings ...
cmake -DOMPI_ENABLE_THREAD_MULTIPLE=true -DOPAL_ENABLE_MULTI_THREADS=true 
-DOMPI_WANT_CXX_BINDINGS=false -DCMAKE_C_FLAGS:STRING=/MP 
-DCMAKE_CXX_FLAGS:STRING=/MP -DCMAKE_INSTALL_PREFIX="%MPI_DIR%" 
D:\Code\ompi-svn-mirror -DCMAKE_GENERATOR="Visual Studio 11 Win64"

The compilation succeeds, but when I run my app, I see that THREADS_MULTIPLE is 
not set. So I tried running ompi_info and I see that it outputs the following 
(at bottom of post), but locks up.
The stack trace when it locks up is as follows...

    libmpid.dll!opal_atomic_cmpset_ptr(volatile void * addr, void * oldval, 
void * newval) Line 198   C++
    libmpid.dll!opal_atomic_lifo_push(opal_atomic_lifo_t * lifo, 
opal_list_item_t * item) Line 77 C++
    libmpid.dll!ompi_free_list_grow(ompi_free_list_t * flist, unsigned __int64 
num_elements) Line 237     C++
    libmpid.dll!ompi_rb_tree_init(ompi_rb_tree_t * tree, int (void *, void *) * 
comp) Line 77   C++
    libmpid.dll!mca_mpool_base_tree_init() Line 88  C++
    libmpid.dll!mca_mpool_base_open() Line 86  C++
    ompi_info.exe!ompi_info_open_components() Line 515   C++
    ompi_info.exe!main(int argc, char * * argv) Line 285 C
    ompi_info.exe!__tmainCRTStartup() Line 536 C
    ompi_info.exe!mainCRTStartup() Line 377    C
    kernel32.dll!000007feac87167e() Unknown
    ntdll.dll!000007feae4cc3f1()    Unknown

My question is : has anyone tested msvc 12 and openmpi and can they recommend a 
source version I can use to compile and enable threads. If this combination of 
compilers etc is not yet supported, how can I help fix this. The fact that 
ompi_info reports "Thread support: no" indicates to me that either the cmake 
config is failing, or I've messed up with options. I tried the v1.7 branch, but 
the cmake support appears flaky. I'm willing to either fix the 1.7 cmake or the 
1.6 thread lock, if necessary, but I don't want to waste my time if it isn't 
going to work within a reasonable amount of debugging. I welcome any advice on 
how to get this compiling and working and offer cmake related help if you need 
it to work on this platform.
NB. I think I said my program runs, but actually, with threads enabled it bombs 
out during  MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided); - it 
runs without threads, but I need them.

Thanks

JB

output of ompi_info

                 Package: Open MPI biddisco@CRUSCA Distribution
                Open MPI: 1.6.3a1-1
   Open MPI SVN revision: -1
   Open MPI release date: Unreleased developer copy
                Open RTE: 1.6.3a1-1
   Open RTE SVN revision: -1
   Open RTE release date: Unreleased developer copy
                    OPAL: 1.6.3a1-1
       OPAL SVN revision: -1
       OPAL release date: Unreleased developer copy
                 MPI API: 2.1
            Ident string: 1.6.3a1
                  Prefix: D:\build\openmpi\Debug/..
Configured architecture: Windows-6.2 64 bit
          Configure host: CRUSCA
           Configured by: biddisco
           Configured on: 07:52 11/10/2012
          Configure host: CRUSCA
                Built by: biddisco
                Built on: 07:52 11/10/2012
              Built host: CRUSCA
              C bindings: yes
            C++ bindings: yes
      Fortran77 bindings: no
      Fortran90 bindings: no
Fortran90 bindings size: na
              C compiler: cl
     C compiler absolute: C:/Program Files (x86)/Microsoft Visual Studio
                          11.0/VC/bin/x86_amd64/cl.exe
  C compiler family name: MICROSOFT
      C compiler version: 1700
            C++ compiler: cl
  C++ compiler absolute: C:/Program Files (x86)/Microsoft Visual Studio
                          11.0/VC/bin/x86_amd64/cl.exe
      Fortran77 compiler: none
  Fortran77 compiler abs: none
      Fortran90 compiler: none
  Fortran90 compiler abs: none
             C profiling: yes
           C++ profiling: yes
     Fortran77 profiling: no
     Fortran90 profiling: no
          C++ exceptions: no
          Thread support: no
           Sparse Groups: no
  Internal debug support: no
  MPI interface warnings: no
     MPI parameter check: never
Memory profiling support: no
Memory debugging support: no
         libltdl support: no
   Heterogeneous support: no
mpirun default --prefix: yes
         MPI I/O support: yes
       MPI_WTIME support: gettimeofday
     Symbol vis. support: yes
   Host topology support: no
          MPI extensions: none
   FT Checkpoint support: yes (checkpoint thread: no)
     VampirTrace support: no
  MPI_MAX_PROCESSOR_NAME: 256
    MPI_MAX_ERROR_STRING: 256
     MPI_MAX_OBJECT_NAME: 64
        MPI_MAX_INFO_KEY: 36
        MPI_MAX_INFO_VAL: 256
       MPI_MAX_PORT_NAME: 1024
  MPI_MAX_DATAREP_STRING: 128

Reply via email to