[mpich-discuss] MPICH2 and LAPACK
Hélvio Vairinhos
helvio.vairinhos at googlemail.com
Mon May 10 22:35:54 CDT 2010
Hi Gus,
Your suggestion solved my problem! It was just a matter of passing to
mpif90 the directory where the libraries are located. In a standard
Cygwin installation, the command line is simply:
% mpif90 foo.f90 -L/lib/lapack -llapack -lblas
Thank you very much!
Hélvio.
On 11-05-2010 04:04, Gus Correa wrote:
> Hi Helvio
>
> If the LAPACK and BLAS libraries are not in
> conventional directories, the linker won't find them.
>
> Try to pass the directories where they are to the mpif90 wrapper,
> something like this:
>
> mpif90 foo.f90 -L/path/to/lapack/lib -llapack -L/path/to/blas/lib -lblas
>
> I hope this helps,
> Gus Correa
> ---------------------------------------------------------------------
> Gustavo Correa
> Lamont-Doherty Earth Observatory - Columbia University
> Palisades, NY, 10964-8000 - USA
> ---------------------------------------------------------------------
>
> Hélvio Vairinhos wrote:
>> Thanks for the reply! I tried to compile my code using:
>>
>> % mpif90 foo.f90 -llapack -lblas
>>
>> but I always get the following message:
>>
>> % /bin///ld: cannot find -llapack
>> % /bin///ld: cannot find -lblas
>>
>> My test code is very simple:
>> 1. I initialize MPI,
>> 2. I construct two simple 5x5 matrices,
>> 3. I call the matrix multiplication routine (xGEMM),
>> 4. I print the result and RANK,
>> 5. I finalize MPI.
>>
>> In principle this should return and print as many matrices as CPU's I
>> use to run the executable. However, mpif90 doesn't seem to allow the
>> -llapack or -lblas flags... So, since apparently I can't use the
>> libraries from the Cygwin installation, how should I proceed to be
>> able to compile LAPACK routines with mpif90?
>>
>> Cheers,
>>
>> -- Hélvio
>>
>>
>> On 10-05-2010 23:51, Pavan Balaji wrote:
>>>
>>> If I understand what you are doing correctly, you don't need to
>>> recompile LAPACK -- you can continue using the single process LAPACK
>>> functions within each MPI process. As you noted, you just compile
>>> your application with mpif90 instead of gfortran; everything else
>>> stays the same. For example, you can do:
>>>
>>> % mpif90 foo.f -llapack -lblas
>>>
>>> instead of
>>>
>>> % gfortran foo.f -llapack -lblas
>>>
>>> -- Pavan
>>>
>>> On 05/10/2010 05:47 PM, Hélvio Vairinhos wrote:
>>>> Hi, I am new to this forum, and this is my first post.
>>>>
>>>> I am developing a code in Fortran 90, and I use some basic MPI
>>>> commands and LAPACK routines. I work in a Windows platform, but I
>>>> use Cygwin for development. I use the LAPACK package that comes
>>>> with the Cygwin installation, which works perfectly fine when I
>>>> compile F90 codes with gfortran (the usual -llapack -lblas flags).
>>>> But now I want to parallelized my code by adding some basic MPI
>>>> commands. For this purpose, I installed MPICH2 from source, and use
>>>> mpif90 to compile my parallel codes in Cygwin; it works perfectly
>>>> fine! However, I don't know how to compile my codes when both MPI
>>>> commands and LAPACK routine calls are present.
>>>>
>>>> So my questions are: How can I compile LAPACK routines (not
>>>> ScaLAPACK) with mpif90? Is it possible to use the LAPACK routines
>>>> that come with the Cygwin installation?
>>>>
>>>> Any help is appreciated. Thanks!
>>>>
>>>> -- Hélvio
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> _______________________________________________
>>>> mpich-discuss mailing list
>>>> mpich-discuss at mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>
>> _______________________________________________
>> mpich-discuss mailing list
>> mpich-discuss at mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>
More information about the mpich-discuss
mailing list