I have successfully installed plasma and now wish to start using it. The question
I have is how to compile a file that calls the plasma library? For reference I have
started with the example program example_dgesv_f.f , since it is the DGESV routine
I am ultimately planning to use.
(i) I am using gfortran, and built plasma against existing versions of lapack
/usr/lib/liblapack.so.3gf) , blas (/usr/lib/libblas.so.3gf) and cblas (/usr/lib/libcblas.so.3gf)
If I try the compilation:
gfortran -o trash.exe example_dgesv_f.f -L /data/work/fortran-2003-development/parallel/scalapack-test/parallel-develop/plasma/plasma-installer_2.4.6/build/plasma_2.4.6/lib -lplasma -lcoreblas /usr/lib/liblapack.so.3gf /usr/lib/libcblas.so.3gf /usr/lib/libblas.so.3gf
I get the error message (I show just the first few lines):
/data/work/fortran-2003-development/parallel/scalapack-test/parallel-develop/plasma/plasma-installer_2.4.6/build/plasma_2.4.6/lib/libplasma.a(dtile.o): In function `PLASMA_dLapack_to_Tile':
dtile.c:(.text+0x1d8): undefined reference to `QUARK_Waitall'
dtile.c:(.text+0x32e): undefined reference to `QUARK_Waitall'
/data/work/fortran-2003-development/parallel/scalapack-test/parallel-develop/plasma/plasma-installer_2.4.6/build/plasma_2.4.6/lib/libplasma.a(dtile.o): In function `PLASMA_dLapack_to_Tile_Async':
dtile.c:(.text+0x7a7): undefined reference to `QUARK_Waitall'
It seems that I am missing something in the compilation line? Or perhaps the order is incorrect?
(ii)The second question concerns the file plasmaf.h , which is 'included'
in this example file. I guess one must ensure that this file to be in the same directory as
example_dgesv_f.f in order to compile the code. Can / should this file be edited,
or is it enough to simply make sure it is always included in a working directory?