- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Is it possible to compile Intel MKL application to MPI executable?
For example, I have example program that uses ParDiSo library from MKL. Is it possible to compile it into mpi executable, so I can run it by mpi scheduler: mpirun?
For example, I have example program that uses ParDiSo library from MKL. Is it possible to compile it into mpi executable, so I can run it by mpi scheduler: mpirun?
Enlace copiado
9 Respuestas
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Yes, it is possible. You can find an example of using MKL + MPI in MP LINPACK part of MKL.
- Sergey
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Quoting - Sergey Pudov (Intel)
Yes, it is possible. You can find an example of using MKL + MPI in MP LINPACK part of MKL.
- Sergey
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Let me clarify my previous answer because I think that some misunderstanding still exists. MKL contains different applications; some of them were developed for clusters and used MPI. So you CAN compile Intel MKL application to MPI executable.
But current PARDISO library doesn't have MPI support, so PARDISO examples can't be build to MPI executable without modifications.
For example you can use ScaLAPACK tests as basic for your MPI application and insert PARDISO calls into it, if necessary. Below you can see example of compiler options for ScaLAPACK tests:
mpiifort -nocompchk -c -w -u -O0 psludriver.f
mpiifort -nocompchk -c -w -u -O0 psluinfo.f
mpiifort -nocompchk -c -w -u -O0 psgetrrv.f
mpiifort -nocompchk -c -w -u -O0 psmatgen.f
mpiifort -nocompchk -c -w -u -O0 pmatgeninc.f
mpiifort -nocompchk -c -w -u -O0 pslaschk.f
mpiifort -nocompchk -c -w -u -O0 pslafchk.f
mpiifort -nocompchk -o ../xslu_libem64t_intelmpi_intel_noopt_lp64 psludriver.o psluinfo.o psgetrrv.o psmatgen.o pmatgeninc.o pslaschk.o pslafchk.o -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_scalapack_lp64.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_blacs_intelmpi_lp64.a -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_intel_lp64.a -Wl,--start-group /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_sequential.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_core.a -Wl,--end-group -lpthread
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
I tried to compile this example but get many compilation errors. What did I do wrong?:
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psludriver.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psluinfo.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psgetrrv.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psmatgen.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pmatgeninc.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pslaschk.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pslafchk.f
-sh-3.1$ mpif77 -nocompchk -o ../xslu_libem64t_intelmpi_intel_noopt_lp64 psludriver.o psluinfo.o psgetrrv.o psmatgen.o pmatgeninc.o pslaschk.o pslafchk.o -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_scalapack_lp64.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_blacs_intelmpi_lp64.a -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_intel_lp64.a -Wl,--start-group /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_sequential.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_core.a -Wl,--end-group -lpthread
ifort: command line warning #10006: ignoring unknown option '-nocompchk'
/opt/intel/fce/10.1.021/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
psludriver.o: In function `MAIN__':
psludriver.f:(.text+0x31): undefined reference to `blacs_pinfo_'
psludriver.f:(.text+0x61d): undefined reference to `blacs_get_'
psludriver.f:(.text+0x649): undefined reference to `blacs_gridinit_'
psludriver.f:(.text+0x681): undefined reference to `blacs_gridinfo_'
psludriver.f:(.text+0x993): undefined reference to `igsum2d_'
psludriver.f:(.text+0xbf9): undefined reference to `igsum2d_'
psludriver.f:(.text+0xcc6): undefined reference to `numroc_'
psludriver.f:(.text+0xd19): undefined reference to `numroc_'
psludriver.f:(.text+0xd6c): undefined reference to `numroc_'
psludriver.f:(.text+0xeaa): undefined reference to `descinit_'
psludriver.f:(.text+0xf43): undefined reference to `igsum2d_'
psludriver.f:(.text+0x10a2): undefined reference to `iceil_'
psludriver.f:(.text+0x135d): undefined reference to `igsum2d_'
psludriver.f:(.text+0x15c1): undefined reference to `psfillpad_'
psludriver.f:(.text+0x164b): undefined reference to `psfillpad_'
psludriver.f:(.text+0x1704): undefined reference to `psfillpad_'
psludriver.f:(.text+0x17a8): undefined reference to `pslange_'
psludriver.f:(.text+0x1864): undefined reference to `pslange_'
psludriver.f:(.text+0x1926): undefined reference to `pschekpad_'
psludriver.f:(.text+0x19f4): undefined reference to `pschekpad_'
psludriver.f:(.text+0x1bef): undefined reference to `psfillpad_'
psludriver.f:(.text+0x1bfa): undefined reference to `slboot_'
psludriver.f:(.text+0x1c17): undefined reference to `blacs_barrier_'
psludriver.f:(.text+0x1c28): undefined reference to `sltimer_'
psludriver.f:(.text+0x1cbf): undefined reference to `psgetrf_'
psludriver.f:(.text+0x1cd4): undefined reference to `sltimer_'
psludriver.f:(.text+0x1e37): undefined reference to `pschekpad_'
psludriver.f:(.text+0x1ed6): undefined reference to `pschekpad_'
psludriver.f:(.text+0x212f): undefined reference to `pschekpad_'
psludriver.f:(.text+0x21ce): undefined reference to `pschekpad_'
psludriver.f:(.text+0x229c): undefined reference to `pschekpad_'
psludriver.f:(.text+0x245b): undefined reference to `slcombine_'
psludriver.f:(.text+0x24e3): undefined reference to `slcombine_'
psludriver.f:(.text+0x2cbf): undefined reference to `iceil_'
psludriver.f:(.text+0x2ce9): undefined reference to `iceil_'
psludriver.f:(.text+0x2e1f): undefined reference to `iceil_'
psludriver.f:(.text+0x2faa): undefined reference to `igsum2d_'
psludriver.f:(.text+0x30c7): undefined reference to `psfillpad_'
psludriver.f:(.text+0x3180): undefined reference to `psfillpad_'
psludriver.f:(.text+0x326f): undefined reference to `psgecon_'
psludriver.f:(.text+0x3324): undefined reference to `pschekpad_'
psludriver.f:(.text+0x33c3): undefined reference to `pschekpad_'
psludriver.f:(.text+0x3491): undefined reference to `pschekpad_'
psludriver.f:(.text+0x35b7): undefined reference to `descinit_'
psludriver.f:(.text+0x3650): undefined reference to `igsum2d_'
psludriver.f:(.text+0x3729): undefined reference to `numroc_'
psludriver.f:(.text+0x382b): undefined reference to `ilcm_'
psludriver.f:(.text+0x389f): undefined reference to `numroc_'
psludriver.f:(.text+0x38f8): undefined reference to `numroc_'
psludriver.f:(.text+0x3b4f): undefined reference to `igsum2d_'
psludriver.f:(.text+0x3db3): undefined reference to `psfillpad_'
psludriver.f:(.text+0x3f9a): undefined reference to `psfillpad_'
psludriver.f:(.text+0x402b): undefined reference to `psfillpad_'
psludriver.f:(.text+0x40bc): undefined reference to `psfillpad_'
psludriver.f:(.text+0x40dd): undefined reference to `blacs_barrier_'
psludriver.f:(.text+0x40ee): undefined reference to `sltimer_'
psludriver.f:(.text+0x41d9): undefined reference to `psgetrs_'
psludriver.f:(.text+0x41ee): undefined reference to `sltimer_'
psludriver.f:(.text+0x429f): undefined reference to `pschekpad_'
psludriver.f:(.text+0x433e): undefined reference to `pschekpad_'
psludriver.f:(.text+0x43e8): undefined reference to `pschekpad_'
psludriver.f:(.text+0x44a1): undefined reference to `psfillpad_'
psludriver.f:(.text+0x46c5): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4793): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4911): undefined reference to `iceil_'
psludriver.f:(.text+0x4a9c): undefined reference to `igsum2d_'
psludriver.f:(.text+0x4bb9): undefined reference to `psfillpad_'
psludriver.f:(.text+0x4c72): undefined reference to `psfillpad_'
psludriver.f:(.text+0x4e6a): undefined reference to `psgerfs_'
psludriver.f:(.text+0x4f22): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4fcc): undefined reference to `pschekpad_'
psludriver.f:(.text+0x506b): undefined reference to `pschekpad_'
psludriver.f:(.text+0x5115): undefined reference to `pschekpad_'
psludriver.f:(.text+0x51bf): undefined reference to `pschekpad_'
psludriver.o:psludriver.f:(.text+0x5265): more undefined references to `pschekpad_' follow
psludriver.o: In function `MAIN__':
psludriver.f:(.text+0x5531): undefined reference to `psfillpad_'
psludriver.f:(.text+0x5755): undefined reference to `pschekpad_'
psludriver.f:(.text+0x5823): undefined reference to `pschekpad_'
psludriver.f:(.text+0x58ab): undefined reference to `slcombine_'
psludriver.f:(.text+0x5933): undefined reference to `slcombine_'
psludriver.f:(.text+0x62b8): undefined reference to `pschekpad_'
psludriver.f:(.text+0x6357): undefined reference to `pschekpad_'
psludriver.f:(.text+0x6425): undefined reference to `pschekpad_'
psludriver.f:(.text+0x64d6): undefined reference to `blacs_gridexit_'
psludriver.f:(.text+0x67f3): undefined reference to `blacs_exit_'
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x115b): undefined reference to `blacs_setup_'
psluinfo.f:(.text+0x117d): undefined reference to `blacs_get_'
psluinfo.f:(.text+0x11af): undefined reference to `blacs_gridinit_'
psluinfo.f:(.text+0x11cc): undefined reference to `pslamch_'
psluinfo.f:(.text+0x125e): undefined reference to `sgebs2d_'
psluinfo.f:(.text+0x1359): undefined reference to `igebs2d_'
psluinfo.f:(.text+0x13b0): undefined reference to `icopy_'
psluinfo.f:(.text+0x1408): undefined reference to `icopy_'
psluinfo.f:(.text+0x1460): undefined reference to `icopy_'
psluinfo.f:(.text+0x14b8): undefined reference to `icopy_'
psluinfo.f:(.text+0x1510): undefined reference to `icopy_'
psluinfo.o:psluinfo.f:(.text+0x1568): more undefined references to `icopy_' follow
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x1643): undefined reference to `igebs2d_'
psluinfo.f:(.text+0x3402): undefined reference to `blacs_setup_'
psluinfo.f:(.text+0x3424): undefined reference to `blacs_get_'
psluinfo.f:(.text+0x3456): undefined reference to `blacs_gridinit_'
psluinfo.f:(.text+0x3473): undefined reference to `pslamch_'
psluinfo.f:(.text+0x3517): undefined reference to `sgebr2d_'
psluinfo.f:(.text+0x35b0): undefined reference to `igebr2d_'
psluinfo.f:(.text+0x36e0): undefined reference to `igebr2d_'
psluinfo.f:(.text+0x3737): undefined reference to `icopy_'
psluinfo.f:(.text+0x3789): undefined reference to `icopy_'
psluinfo.f:(.text+0x37db): undefined reference to `icopy_'
psluinfo.f:(.text+0x382d): undefined reference to `icopy_'
psluinfo.f:(.text+0x387f): undefined reference to `icopy_'
psluinfo.o:psluinfo.f:(.text+0x38d1): more undefined references to `icopy_' follow
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x3931): undefined reference to `blacs_gridexit_'
psluinfo.f:(.text+0x3a14): undefined reference to `blacs_abort_'
psgetrrv.o: In function `psgetrrv_':
psgetrrv.f:(.text+0x8f): undefined reference to `blacs_gridinfo_'
psgetrrv.f:(.text+0x106): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x16f): undefined reference to `numroc_'
psgetrrv.f:(.text+0x1da): undefined reference to `pb_topget_'
psgetrrv.f:(.text+0x225): undefined reference to `pb_topget_'
psgetrrv.f:(.text+0x270): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x2bb): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x44e): undefined reference to `iceil_'
psgetrrv.f:(.text+0x4ee): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x549): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x629): undefined reference to `descset_'
psgetrrv.f:(.text+0x6e5): undefined reference to `descset_'
psgetrrv.f:(.text+0x73c): undefined reference to `numroc_'
psgetrrv.f:(.text+0x801): undefined reference to `descset_'
psgetrrv.f:(.text+0x9a8): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0xa63): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xb39): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0xbf9): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xcb3): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xd62): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xec0): undefined reference to `psgemm_'
psgetrrv.f:(.text+0x10cd): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0x1168): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x121c): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0x12c0): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x136b): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x13fe): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x1522): undefined reference to `psgemm_'
psgetrrv.f:(.text+0x1634): undefined reference to `pslapiv_'
psgetrrv.f:(.text+0x167f): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x16ca): undefined reference to `pb_topset_'
psmatgen.o: In function `psmatgen_':
psmatgen.f:(.text+0x64): undefined reference to `numroc_'
psmatgen.f:(.text+0x9f): undefined reference to `numroc_'
psmatgen.f:(.text+0xca): undefined reference to `lsame_'
psmatgen.f:(.text+0xf5): undefined reference to `lsame_'
psmatgen.f:(.text+0x120): undefined reference to `lsame_'
psmatgen.f:(.text+0x152): undefined reference to `lsame_'
psmatgen.f:(.text+0x177): undefined reference to `lsame_'
psmatgen.f:(.text+0x398): undefined reference to `pxerbla_'
psmatgen.f:(.text+0x480): undefined reference to `iceil_'
psmatgen.f:(.text+0x4ad): undefined reference to `iceil_'
psmatgen.f:(.text+0x19bf): undefined reference to `lsame_'
psmatgen.f:(.text+0x2b25): undefined reference to `lsame_'
pslaschk.o: In function `pslaschk_':
pslaschk.f:(.text+0x86): undefined reference to `blacs_gridinfo_'
pslaschk.f:(.text+0xa3): undefined reference to `pslamch_'
pslaschk.f:(.text+0x178): undefined reference to `infog2l_'
pslaschk.f:(.text+0x208): undefined reference to `infog2l_'
pslaschk.f:(.text+0x2a1): undefined reference to `numroc_'
pslaschk.f:(.text+0x2fe): undefined reference to `numroc_'
pslaschk.f:(.text+0x54c): undefined reference to `pbstran_'
pslaschk.f:(.text+0x9a6): undefined reference to `sgemm_'
pslaschk.f:(.text+0xa5f): undefined reference to `slaset_'
pslaschk.f:(.text+0xaf7): undefined reference to `sgsum2d_'
pslaschk.f:(.text+0xb81): undefined reference to `isamax_'
pslaschk.f:(.text+0xc0b): undefined reference to `isamax_'
pslaschk.f:(.text+0xd6b): undefined reference to `sgamx2d_'
pslaschk.f:(.text+0xe80): undefined reference to `sgesd2d_'
pslaschk.f:(.text+0xf0d): undefined reference to `sgerv2d_'
pslaschk.f:(.text+0x101a): undefined reference to `sgebs2d_'
pslaschk.f:(.text+0x10b5): undefined reference to `sgebr2d_'
pslafchk.o: In function `pslafchk_':
pslafchk.f:(.text+0x86): undefined reference to `blacs_gridinfo_'
pslafchk.f:(.text+0xa3): undefined reference to `pslamch_'
pslafchk.f:(.text+0x13e): undefined reference to `infog2l_'
pslafchk.f:(.text+0x1da): undefined reference to `numroc_'
pslafchk.f:(.text+0x234): undefined reference to `numroc_'
pslafchk.f:(.text+0x286): undefined reference to `iceil_'
pslafchk.f:(.text+0x4d7): undefined reference to `smatadd_'
pslafchk.f:(.text+0x74a): undefined reference to `smatadd_'
pslafchk.f:(.text+0x7e9): undefined reference to `pslange_'
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psludriver.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psluinfo.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psgetrrv.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 psmatgen.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pmatgeninc.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pslaschk.f
-sh-3.1$ mpif77 -nocompchk -c -w -u -O0 pslafchk.f
-sh-3.1$ mpif77 -nocompchk -o ../xslu_libem64t_intelmpi_intel_noopt_lp64 psludriver.o psluinfo.o psgetrrv.o psmatgen.o pmatgeninc.o pslaschk.o pslafchk.o -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_scalapack_lp64.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_blacs_intelmpi_lp64.a -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_intel_lp64.a -Wl,--start-group /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_sequential.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_core.a -Wl,--end-group -lpthread
ifort: command line warning #10006: ignoring unknown option '-nocompchk'
/opt/intel/fce/10.1.021/lib/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
psludriver.o: In function `MAIN__':
psludriver.f:(.text+0x31): undefined reference to `blacs_pinfo_'
psludriver.f:(.text+0x61d): undefined reference to `blacs_get_'
psludriver.f:(.text+0x649): undefined reference to `blacs_gridinit_'
psludriver.f:(.text+0x681): undefined reference to `blacs_gridinfo_'
psludriver.f:(.text+0x993): undefined reference to `igsum2d_'
psludriver.f:(.text+0xbf9): undefined reference to `igsum2d_'
psludriver.f:(.text+0xcc6): undefined reference to `numroc_'
psludriver.f:(.text+0xd19): undefined reference to `numroc_'
psludriver.f:(.text+0xd6c): undefined reference to `numroc_'
psludriver.f:(.text+0xeaa): undefined reference to `descinit_'
psludriver.f:(.text+0xf43): undefined reference to `igsum2d_'
psludriver.f:(.text+0x10a2): undefined reference to `iceil_'
psludriver.f:(.text+0x135d): undefined reference to `igsum2d_'
psludriver.f:(.text+0x15c1): undefined reference to `psfillpad_'
psludriver.f:(.text+0x164b): undefined reference to `psfillpad_'
psludriver.f:(.text+0x1704): undefined reference to `psfillpad_'
psludriver.f:(.text+0x17a8): undefined reference to `pslange_'
psludriver.f:(.text+0x1864): undefined reference to `pslange_'
psludriver.f:(.text+0x1926): undefined reference to `pschekpad_'
psludriver.f:(.text+0x19f4): undefined reference to `pschekpad_'
psludriver.f:(.text+0x1bef): undefined reference to `psfillpad_'
psludriver.f:(.text+0x1bfa): undefined reference to `slboot_'
psludriver.f:(.text+0x1c17): undefined reference to `blacs_barrier_'
psludriver.f:(.text+0x1c28): undefined reference to `sltimer_'
psludriver.f:(.text+0x1cbf): undefined reference to `psgetrf_'
psludriver.f:(.text+0x1cd4): undefined reference to `sltimer_'
psludriver.f:(.text+0x1e37): undefined reference to `pschekpad_'
psludriver.f:(.text+0x1ed6): undefined reference to `pschekpad_'
psludriver.f:(.text+0x212f): undefined reference to `pschekpad_'
psludriver.f:(.text+0x21ce): undefined reference to `pschekpad_'
psludriver.f:(.text+0x229c): undefined reference to `pschekpad_'
psludriver.f:(.text+0x245b): undefined reference to `slcombine_'
psludriver.f:(.text+0x24e3): undefined reference to `slcombine_'
psludriver.f:(.text+0x2cbf): undefined reference to `iceil_'
psludriver.f:(.text+0x2ce9): undefined reference to `iceil_'
psludriver.f:(.text+0x2e1f): undefined reference to `iceil_'
psludriver.f:(.text+0x2faa): undefined reference to `igsum2d_'
psludriver.f:(.text+0x30c7): undefined reference to `psfillpad_'
psludriver.f:(.text+0x3180): undefined reference to `psfillpad_'
psludriver.f:(.text+0x326f): undefined reference to `psgecon_'
psludriver.f:(.text+0x3324): undefined reference to `pschekpad_'
psludriver.f:(.text+0x33c3): undefined reference to `pschekpad_'
psludriver.f:(.text+0x3491): undefined reference to `pschekpad_'
psludriver.f:(.text+0x35b7): undefined reference to `descinit_'
psludriver.f:(.text+0x3650): undefined reference to `igsum2d_'
psludriver.f:(.text+0x3729): undefined reference to `numroc_'
psludriver.f:(.text+0x382b): undefined reference to `ilcm_'
psludriver.f:(.text+0x389f): undefined reference to `numroc_'
psludriver.f:(.text+0x38f8): undefined reference to `numroc_'
psludriver.f:(.text+0x3b4f): undefined reference to `igsum2d_'
psludriver.f:(.text+0x3db3): undefined reference to `psfillpad_'
psludriver.f:(.text+0x3f9a): undefined reference to `psfillpad_'
psludriver.f:(.text+0x402b): undefined reference to `psfillpad_'
psludriver.f:(.text+0x40bc): undefined reference to `psfillpad_'
psludriver.f:(.text+0x40dd): undefined reference to `blacs_barrier_'
psludriver.f:(.text+0x40ee): undefined reference to `sltimer_'
psludriver.f:(.text+0x41d9): undefined reference to `psgetrs_'
psludriver.f:(.text+0x41ee): undefined reference to `sltimer_'
psludriver.f:(.text+0x429f): undefined reference to `pschekpad_'
psludriver.f:(.text+0x433e): undefined reference to `pschekpad_'
psludriver.f:(.text+0x43e8): undefined reference to `pschekpad_'
psludriver.f:(.text+0x44a1): undefined reference to `psfillpad_'
psludriver.f:(.text+0x46c5): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4793): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4911): undefined reference to `iceil_'
psludriver.f:(.text+0x4a9c): undefined reference to `igsum2d_'
psludriver.f:(.text+0x4bb9): undefined reference to `psfillpad_'
psludriver.f:(.text+0x4c72): undefined reference to `psfillpad_'
psludriver.f:(.text+0x4e6a): undefined reference to `psgerfs_'
psludriver.f:(.text+0x4f22): undefined reference to `pschekpad_'
psludriver.f:(.text+0x4fcc): undefined reference to `pschekpad_'
psludriver.f:(.text+0x506b): undefined reference to `pschekpad_'
psludriver.f:(.text+0x5115): undefined reference to `pschekpad_'
psludriver.f:(.text+0x51bf): undefined reference to `pschekpad_'
psludriver.o:psludriver.f:(.text+0x5265): more undefined references to `pschekpad_' follow
psludriver.o: In function `MAIN__':
psludriver.f:(.text+0x5531): undefined reference to `psfillpad_'
psludriver.f:(.text+0x5755): undefined reference to `pschekpad_'
psludriver.f:(.text+0x5823): undefined reference to `pschekpad_'
psludriver.f:(.text+0x58ab): undefined reference to `slcombine_'
psludriver.f:(.text+0x5933): undefined reference to `slcombine_'
psludriver.f:(.text+0x62b8): undefined reference to `pschekpad_'
psludriver.f:(.text+0x6357): undefined reference to `pschekpad_'
psludriver.f:(.text+0x6425): undefined reference to `pschekpad_'
psludriver.f:(.text+0x64d6): undefined reference to `blacs_gridexit_'
psludriver.f:(.text+0x67f3): undefined reference to `blacs_exit_'
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x115b): undefined reference to `blacs_setup_'
psluinfo.f:(.text+0x117d): undefined reference to `blacs_get_'
psluinfo.f:(.text+0x11af): undefined reference to `blacs_gridinit_'
psluinfo.f:(.text+0x11cc): undefined reference to `pslamch_'
psluinfo.f:(.text+0x125e): undefined reference to `sgebs2d_'
psluinfo.f:(.text+0x1359): undefined reference to `igebs2d_'
psluinfo.f:(.text+0x13b0): undefined reference to `icopy_'
psluinfo.f:(.text+0x1408): undefined reference to `icopy_'
psluinfo.f:(.text+0x1460): undefined reference to `icopy_'
psluinfo.f:(.text+0x14b8): undefined reference to `icopy_'
psluinfo.f:(.text+0x1510): undefined reference to `icopy_'
psluinfo.o:psluinfo.f:(.text+0x1568): more undefined references to `icopy_' follow
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x1643): undefined reference to `igebs2d_'
psluinfo.f:(.text+0x3402): undefined reference to `blacs_setup_'
psluinfo.f:(.text+0x3424): undefined reference to `blacs_get_'
psluinfo.f:(.text+0x3456): undefined reference to `blacs_gridinit_'
psluinfo.f:(.text+0x3473): undefined reference to `pslamch_'
psluinfo.f:(.text+0x3517): undefined reference to `sgebr2d_'
psluinfo.f:(.text+0x35b0): undefined reference to `igebr2d_'
psluinfo.f:(.text+0x36e0): undefined reference to `igebr2d_'
psluinfo.f:(.text+0x3737): undefined reference to `icopy_'
psluinfo.f:(.text+0x3789): undefined reference to `icopy_'
psluinfo.f:(.text+0x37db): undefined reference to `icopy_'
psluinfo.f:(.text+0x382d): undefined reference to `icopy_'
psluinfo.f:(.text+0x387f): undefined reference to `icopy_'
psluinfo.o:psluinfo.f:(.text+0x38d1): more undefined references to `icopy_' follow
psluinfo.o: In function `psluinfo_':
psluinfo.f:(.text+0x3931): undefined reference to `blacs_gridexit_'
psluinfo.f:(.text+0x3a14): undefined reference to `blacs_abort_'
psgetrrv.o: In function `psgetrrv_':
psgetrrv.f:(.text+0x8f): undefined reference to `blacs_gridinfo_'
psgetrrv.f:(.text+0x106): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x16f): undefined reference to `numroc_'
psgetrrv.f:(.text+0x1da): undefined reference to `pb_topget_'
psgetrrv.f:(.text+0x225): undefined reference to `pb_topget_'
psgetrrv.f:(.text+0x270): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x2bb): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x44e): undefined reference to `iceil_'
psgetrrv.f:(.text+0x4ee): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x549): undefined reference to `indxg2p_'
psgetrrv.f:(.text+0x629): undefined reference to `descset_'
psgetrrv.f:(.text+0x6e5): undefined reference to `descset_'
psgetrrv.f:(.text+0x73c): undefined reference to `numroc_'
psgetrrv.f:(.text+0x801): undefined reference to `descset_'
psgetrrv.f:(.text+0x9a8): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0xa63): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xb39): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0xbf9): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xcb3): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xd62): undefined reference to `pslaset_'
psgetrrv.f:(.text+0xec0): undefined reference to `psgemm_'
psgetrrv.f:(.text+0x10cd): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0x1168): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x121c): undefined reference to `pslacpy_'
psgetrrv.f:(.text+0x12c0): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x136b): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x13fe): undefined reference to `pslaset_'
psgetrrv.f:(.text+0x1522): undefined reference to `psgemm_'
psgetrrv.f:(.text+0x1634): undefined reference to `pslapiv_'
psgetrrv.f:(.text+0x167f): undefined reference to `pb_topset_'
psgetrrv.f:(.text+0x16ca): undefined reference to `pb_topset_'
psmatgen.o: In function `psmatgen_':
psmatgen.f:(.text+0x64): undefined reference to `numroc_'
psmatgen.f:(.text+0x9f): undefined reference to `numroc_'
psmatgen.f:(.text+0xca): undefined reference to `lsame_'
psmatgen.f:(.text+0xf5): undefined reference to `lsame_'
psmatgen.f:(.text+0x120): undefined reference to `lsame_'
psmatgen.f:(.text+0x152): undefined reference to `lsame_'
psmatgen.f:(.text+0x177): undefined reference to `lsame_'
psmatgen.f:(.text+0x398): undefined reference to `pxerbla_'
psmatgen.f:(.text+0x480): undefined reference to `iceil_'
psmatgen.f:(.text+0x4ad): undefined reference to `iceil_'
psmatgen.f:(.text+0x19bf): undefined reference to `lsame_'
psmatgen.f:(.text+0x2b25): undefined reference to `lsame_'
pslaschk.o: In function `pslaschk_':
pslaschk.f:(.text+0x86): undefined reference to `blacs_gridinfo_'
pslaschk.f:(.text+0xa3): undefined reference to `pslamch_'
pslaschk.f:(.text+0x178): undefined reference to `infog2l_'
pslaschk.f:(.text+0x208): undefined reference to `infog2l_'
pslaschk.f:(.text+0x2a1): undefined reference to `numroc_'
pslaschk.f:(.text+0x2fe): undefined reference to `numroc_'
pslaschk.f:(.text+0x54c): undefined reference to `pbstran_'
pslaschk.f:(.text+0x9a6): undefined reference to `sgemm_'
pslaschk.f:(.text+0xa5f): undefined reference to `slaset_'
pslaschk.f:(.text+0xaf7): undefined reference to `sgsum2d_'
pslaschk.f:(.text+0xb81): undefined reference to `isamax_'
pslaschk.f:(.text+0xc0b): undefined reference to `isamax_'
pslaschk.f:(.text+0xd6b): undefined reference to `sgamx2d_'
pslaschk.f:(.text+0xe80): undefined reference to `sgesd2d_'
pslaschk.f:(.text+0xf0d): undefined reference to `sgerv2d_'
pslaschk.f:(.text+0x101a): undefined reference to `sgebs2d_'
pslaschk.f:(.text+0x10b5): undefined reference to `sgebr2d_'
pslafchk.o: In function `pslafchk_':
pslafchk.f:(.text+0x86): undefined reference to `blacs_gridinfo_'
pslafchk.f:(.text+0xa3): undefined reference to `pslamch_'
pslafchk.f:(.text+0x13e): undefined reference to `infog2l_'
pslafchk.f:(.text+0x1da): undefined reference to `numroc_'
pslafchk.f:(.text+0x234): undefined reference to `numroc_'
pslafchk.f:(.text+0x286): undefined reference to `iceil_'
pslafchk.f:(.text+0x4d7): undefined reference to `smatadd_'
pslafchk.f:(.text+0x74a): undefined reference to `smatadd_'
pslafchk.f:(.text+0x7e9): undefined reference to `pslange_'
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Please try to use mpiifort instead of mpif77.
- Sergey
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
I don't know why, but there is no mpiifort available on our cluster.
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Quoting - alevseev
I don't know why, but there is no mpiifort available on our cluster.
If you use an open source MPI, you should configure and rebuild it to use ifort as the f77 and f90 compiler. The new mpif77 you make this way should fix your linking problems. If you aren't using ifort, gfortran is more likely to be satisfactory than g77, as the latter has not been supported for several years, has different default linking conventions, and current MKL has libraries intended for gfortran.
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Quoting - Sergey Pudov (Intel)
Let me clarify my previous answer because I think that some misunderstanding still exists. MKL contains different applications; some of them were developed for clusters and used MPI. So you CAN compile Intel MKL application to MPI executable.
But current PARDISO library doesn't have MPI support, so PARDISO examples can't be build to MPI executable without modifications.
For example you can use ScaLAPACK tests as basic for your MPI application and insert PARDISO calls into it, if necessary. Below you can see example of compiler options for ScaLAPACK tests:
mpiifort -nocompchk -c -w -u -O0 psludriver.f
mpiifort -nocompchk -c -w -u -O0 psluinfo.f
mpiifort -nocompchk -c -w -u -O0 psgetrrv.f
mpiifort -nocompchk -c -w -u -O0 psmatgen.f
mpiifort -nocompchk -c -w -u -O0 pmatgeninc.f
mpiifort -nocompchk -c -w -u -O0 pslaschk.f
mpiifort -nocompchk -c -w -u -O0 pslafchk.f
mpiifort -nocompchk -o ../xslu_libem64t_intelmpi_intel_noopt_lp64 psludriver.o psluinfo.o psgetrrv.o psmatgen.o pmatgeninc.o pslaschk.o pslafchk.o -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_scalapack_lp64.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_blacs_intelmpi_lp64.a -L/__release_lnx/tests/scalapack/../../lib/em64t /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_intel_lp64.a -Wl,--start-group /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_sequential.a /__release_lnx/tests/scalapack/../../lib/em64t/libmkl_core.a -Wl,--end-group -lpthread
Sergey,
I'm new to this forum, so, please bear with me. I've been searching all around, but, can't seem to find an answer.
I need to run PARDISO on myAMD Opteron x86_64 cluster, using Intel FORTRAN compiler,using Intel MPI. I've just successfully compiled and linked the PARDISO FORTRAN sample problem. But ... the executable is only for a single processor and a single thread. I need to use MPI in order to gain access to the aggregate memory of the cluster.
In the thread shown above you said two things of interest.
1) MPI support was not available for PARDISO. Is MPI support now available?
2) PARDISO MPI executable could only be built with modifications. What modifications would I use?
Oh, by the way, when I issue the command "cpuinfo", here is what I get:
Architecture : x86_64
Hyperthreading: not supported
Packages : 4
Cores : 8
Processors : 8
===== Processor identification =====
Processor Thread Core Package
0 0 0 0
1 0 1 0
2 0 0 1
3 0 1 1
4 0 0 2
5 0 1 2
6 0 0 3
7 0 1 3
===== Processor placement =====
Package Cores Processors
0 0,1 0,1
1 0,1 2,3
2 0,1 4,5
3 0,1 6,7
===== Cache sharing =====
Cache Size Processors
L1 0 B no sharing
L2 0 B no sharing
L3 0 B no sharing
=======================
Any suggestions?
Thank you very much,
Bob
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Is MPI support now available?
- not in the current version. but we are working on this problem and probably this functionality will available the next release.
--Gennady

Responder
Opciones de temas
- Suscribirse a un feed RSS
- Marcar tema como nuevo
- Marcar tema como leído
- Flotar este Tema para el usuario actual
- Favorito
- Suscribir
- Página de impresión sencilla