Results 1 to 7 of 7

Thread: Edwart Stewart's paper on IMSL/MPI

  1. #1
    Junior Member
    Join Date
    Aug 2011
    Posts
    5

    Edwart Stewart's paper on IMSL/MPI

    I am trying to get the MS-MPI example working using Dr. Edward Stewart's paper "Math Libraries for Windows HPC."
    http://download.microsoft.com/downlo...shpc_final.doc

    I currently have installed the IA32 version of the Fortran IMSL libraries, version 6. From the 'About' menu in Visual Studio 2008, it lists 11.1.3469.2008 as the version of Intel Visual Fortran.

    MPI with ScaLAPACK is documented in Math.pdf (in my VNI directory), but the paper listed above claims this can only be done with the 64 bit version (why would MPI and ScaLAPACK be listed as functionality in the 32 bit version?).

    Furthermore, while I do have a current license, the following link listed in the paper does not work, nor is it clear if I can use my current license to get the 64 bit version.

    http://www.vni.com/forms/fortran_download_choice.php

  2. #2
    Junior Member
    Join Date
    Aug 2011
    Posts
    5
    <...more information...>

    I know my HPC is setup properly. I am able to build, using Visual Studio 2008, and then execute using MPIEXEC, the following sample code from MSDN.:

    Code:
    #include<iostream> 
    #include<mpi.h> 
    
    using namespace std;  
    
    int main(int argc, char** argv)
    {    
          int mynode, totalnodes;      
          MPI_Init(&argc, &argv);      
          MPI_Comm_size(MPI_COMM_WORLD, &totalnodes);     
          MPI_Comm_rank(MPI_COMM_WORLD, &mynode);      
          cout << "Hello world from process " << mynode;    
          cout << " of " << totalnodes << endl;      
          MPI_Finalize();     
          return 0; 
    }
    I am trying to follow Dr. Stewart's paper, by substituting the 32 bit versions in lieu of the 64 bit ones. I'm making what appears to be some progress, but there are some differences that I am not able to resolve on my own.

    For instance, Dr. Stewart's paper references 'mkl_scalapack.lib.' I have 'mkl_scalapack_core.lib' and 'mkl_scalapack_core_dll.lib' located in my C:\Program Files (x86)\Intel\Compiler\11.1\054\mkl\ia32\lib.

    Right now I am trying to track down which library files I do and do not have, and seeing if I can track down their equivalents and get this to work. It stops at libcrvs.lib with the accompanying warnings:

    1>Debug\Fortran_MPI_Main.obj:warning : locally defined symbol __imp__MPI_NODE_INT_mp_MP_NPROCS imported
    1>Debug\Fortran_MPI_Main.obj:warning : locally defined symbol __imp__MPI_NODE_INT_mp_MP_RANK imported
    1>Debug\Fortran_MPI_Main.obj:warning : locally defined symbol __imp__MPIPRIV1 imported
    1>Debug\Fortran_MPI_Main.obj:warning : locally defined symbol __imp__MPIPRIV2 imported
    1>Debug\Fortran_MPI_Main.obj:warning : locally defined symbol __imp__MPIPRIVC imported
    1>LINK : fatal error LNK1181: cannot open input file 'libcrvs.lib'

  3. #3
    Junior Member
    Join Date
    Aug 2011
    Posts
    5
    So, after some finagling about, I managed to get Dr. Stewart's example to build with the 32 bit version of IMSL, but he said that, for one, the 32 bit version can only run on a single node. I take this to mean that it can still run on all of a single machine's cores. Unfortunately, when I attempt to run the example I get the following message (from each core, interestingly):

    "A CALL was executed using the IMSL dummy routine. Parallel performance needs a functioning MPI library."

    I'm running the binary via mpiexec from the command line, passing in the executable as the only argument.

    I do have MPI installed correctly as I've managed to get a C++ program to run in parallel.

    EDIT:

    When building, I get no errors but I do get the following warnings:

    1>Debug\ParallelTest.obj:warning : locally defined symbol __imp__MPIPRIV1 imported
    1>Debug\ParallelTest.obj:warning : locally defined symbol __imp__MPIPRIV2 imported
    1>Debug\ParallelTest.obj:warning : locally defined symbol __imp__MPIPRIVC imported
    1>ParallelTest.obj : warning LNK4049: locally defined symbol _MPIPRIV1 imported
    1>ParallelTest.obj : warning LNK4049: locally defined symbol _MPIPRIV2 imported
    1>ParallelTest.obj : warning LNK4049: locally defined symbol _MPIPRIVC imported

    Last edited by CWTeebs : 08-17-2011 at 09:57 AM.

  4. #4
    Junior Member
    Join Date
    Aug 2011
    Posts
    5
    I'm just posting updates as I go along, maybe somebody will find this useful.

    It turns out that the IA32 version of IMSL was built with MPICH2, hence where my errors were coming from.

  5. #5
    Junior Member
    Join Date
    Aug 2011
    Posts
    5
    I am just posting in the hopes that somebody else might find some of this useful (I got a lot of help from the folks at VNI, so thank you).

    I managed to get the MPI_Manual examples running by downloading MPICH2, which I believe came out of Argonne National Labs, with FNL 6 and Intel VF 11.0.

    I also got a 64 bit version to work with newer versions of FNL and Intel VF. Note that this isn't a supported combination, and we agreed I'll probably still run into problems*, but I downloaded a demo of "Intel(R) Visual Fortran Composer XE 2011 Integration for Microsoft Visual Studio* 2008, 12.0.3471.2008" as well as FNL 7.0 and got Dr. Stewart's example to run successfully (with Windows HPC Server 2008 SDK, not MPICH2).

    * until the official release, which will include quality assurance checks on the IMSL routines

    Last edited by CWTeebs : 08-19-2011 at 11:49 AM.

  6. #6
    Junior Member
    Join Date
    Feb 2009
    Location
    Houston, TX
    Posts
    29
    Intel has released IMSL for Visual Fortran 2011

  7. #7
    Junior Member
    Join Date
    Sep 2011
    Location
    USA
    Posts
    1
    You're right. This thread is becoming very useful for me. Thanks
    we were born to succeed, not to fail

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •