Re: [mpich2-core] MPICH2 Fortran bindings for MIC
Pavan, I added a script (configure) that runs on the MIC frontend (knight.mcs.anl.gov)to generate a MPICH2 cross file for all Fortran related tests (The mechanism should be general enough to extend to C++ if it has any runtime tests). The code is in mpich2/maint/fcrosscompile cd mpich2/maint/fcrosscompile ./autogen.sh ./run_configure The autogen.sh generates a modified configure script. The trivial run_configure launches configure with icc/ifort + "-mmic" option. The modified configure will generate a "cross_values.txt" which can be used with mpich2's configure option --with-cross. I tested the cross file as follows on knight.mcs.anl.gov ../mpich2/configure 'CC=icc -mmic' 'F77=ifort -mmic' 'FC=ifort -mmic' '--disable-cxx' --disable-weak-symbols cross_compiling=yes --with-cross=../mpich2/maint/fcrosscompile/cross_values.txt '--prefix=/home/chan/mpich2_work/install_cross' To extend to other platforms, one needs to modify cross_run script on launching an executable on the backend. So far thing seems to work, I was able to run MIC executable cpi/fpi/pi3f90. I have yet figured how to run the test/mpi suite in this cross-compilation env. Since the cross-compiled mpiexec.hydra built can't be run on frontend, but the backend has no make so I can just do "make testing" on the backend. I suppose I need a mpiexec.hydra built for frontend and used it on runtest. Anyway, let me know if there is any documentation on launching hydra in such cross-compilation env. PS. I cc'ed this to mpich2-core just in case someone else may find the scripts useful for other platform. A.Chan ----- Original Message -----
Hey,
Any update on the MPICH2 Fortran bindings for MIC? We should try to fix it up soon.
-- Pavan
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
On Sun, Jul 22, 2012 at 01:47:14PM -0500, Anthony Chan wrote:
../mpich2/configure 'CC=icc -mmic' 'F77=ifort -mmic' 'FC=ifort -mmic' '--disable-cxx' --disable-weak-symbols cross_compiling=yes --with-cross=../mpich2/maint/fcrosscompile/cross_values.txt '--prefix=/home/chan/mpich2_work/install_cross'
Why do you need 'cross_compiling=yes' ? Is there no '--host' tuple for MIC ? ==rob
To extend to other platforms, one needs to modify cross_run script on launching an executable on the backend.
So far thing seems to work, I was able to run MIC executable cpi/fpi/pi3f90. I have yet figured how to run the test/mpi suite in this cross-compilation env. Since the cross-compiled mpiexec.hydra built can't be run on frontend, but the backend has no make so I can just do "make testing" on the backend. I suppose I need a mpiexec.hydra built for frontend and used it on runtest. Anyway, let me know if there is any documentation on launching hydra in such cross-compilation env.
PS. I cc'ed this to mpich2-core just in case someone else may find the scripts useful for other platform.
A.Chan
----- Original Message -----
Hey,
Any update on the MPICH2 Fortran bindings for MIC? We should try to fix it up soon.
-- Pavan
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
-- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA
mpich2's --with-cross option already set cross_compiling=yes, so it isn't needed here (strictly speaking). AFAIK, --host option in autoconf mainly sets cross_compiling=yes. The only difference between setting cross_compiling=yes without --host is that configure will emit a message saying --host isn't set. No practical difference for the things that we do. A.Chan ----- Original Message -----
On Sun, Jul 22, 2012 at 01:47:14PM -0500, Anthony Chan wrote:
../mpich2/configure 'CC=icc -mmic' 'F77=ifort -mmic' 'FC=ifort -mmic' '--disable-cxx' --disable-weak-symbols cross_compiling=yes --with-cross=../mpich2/maint/fcrosscompile/cross_values.txt '--prefix=/home/chan/mpich2_work/install_cross'
Why do you need 'cross_compiling=yes' ? Is there no '--host' tuple for MIC ?
==rob
To extend to other platforms, one needs to modify cross_run script on launching an executable on the backend.
So far thing seems to work, I was able to run MIC executable cpi/fpi/pi3f90. I have yet figured how to run the test/mpi suite in this cross-compilation env. Since the cross-compiled mpiexec.hydra built can't be run on frontend, but the backend has no make so I can just do "make testing" on the backend. I suppose I need a mpiexec.hydra built for frontend and used it on runtest. Anyway, let me know if there is any documentation on launching hydra in such cross-compilation env.
PS. I cc'ed this to mpich2-core just in case someone else may find the scripts useful for other platform.
A.Chan
----- Original Message -----
Hey,
Any update on the MPICH2 Fortran bindings for MIC? We should try to fix it up soon.
-- Pavan
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
-- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA
Hi Anthony, Can you commit the cross file into the scif netmod? -- Pavan On 07/22/2012 01:47 PM, Anthony Chan wrote:
Pavan,
I added a script (configure) that runs on the MIC frontend (knight.mcs.anl.gov)to generate a MPICH2 cross file for all Fortran related tests (The mechanism should be general enough to extend to C++ if it has any runtime tests). The code is in mpich2/maint/fcrosscompile
cd mpich2/maint/fcrosscompile ./autogen.sh ./run_configure
The autogen.sh generates a modified configure script. The trivial run_configure launches configure with icc/ifort + "-mmic" option. The modified configure will generate a "cross_values.txt" which can be used with mpich2's configure option --with-cross. I tested the cross file as follows on knight.mcs.anl.gov
../mpich2/configure 'CC=icc -mmic' 'F77=ifort -mmic' 'FC=ifort -mmic' '--disable-cxx' --disable-weak-symbols cross_compiling=yes --with-cross=../mpich2/maint/fcrosscompile/cross_values.txt '--prefix=/home/chan/mpich2_work/install_cross'
To extend to other platforms, one needs to modify cross_run script on launching an executable on the backend.
So far thing seems to work, I was able to run MIC executable cpi/fpi/pi3f90. I have yet figured how to run the test/mpi suite in this cross-compilation env. Since the cross-compiled mpiexec.hydra built can't be run on frontend, but the backend has no make so I can just do "make testing" on the backend. I suppose I need a mpiexec.hydra built for frontend and used it on runtest. Anyway, let me know if there is any documentation on launching hydra in such cross-compilation env.
PS. I cc'ed this to mpich2-core just in case someone else may find the scripts useful for other platform.
A.Chan
----- Original Message -----
Hey,
Any update on the MPICH2 Fortran bindings for MIC? We should try to fix it up soon.
-- Pavan
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
Done. A.Chan ----- Original Message -----
Hi Anthony,
Can you commit the cross file into the scif netmod?
-- Pavan
On 07/22/2012 01:47 PM, Anthony Chan wrote:
Pavan,
I added a script (configure) that runs on the MIC frontend (knight.mcs.anl.gov)to generate a MPICH2 cross file for all Fortran related tests (The mechanism should be general enough to extend to C++ if it has any runtime tests). The code is in mpich2/maint/fcrosscompile
cd mpich2/maint/fcrosscompile ./autogen.sh ./run_configure
The autogen.sh generates a modified configure script. The trivial run_configure launches configure with icc/ifort + "-mmic" option. The modified configure will generate a "cross_values.txt" which can be used with mpich2's configure option --with-cross. I tested the cross file as follows on knight.mcs.anl.gov
../mpich2/configure 'CC=icc -mmic' 'F77=ifort -mmic' 'FC=ifort -mmic' '--disable-cxx' --disable-weak-symbols cross_compiling=yes --with-cross=../mpich2/maint/fcrosscompile/cross_values.txt '--prefix=/home/chan/mpich2_work/install_cross'
To extend to other platforms, one needs to modify cross_run script on launching an executable on the backend.
So far thing seems to work, I was able to run MIC executable cpi/fpi/pi3f90. I have yet figured how to run the test/mpi suite in this cross-compilation env. Since the cross-compiled mpiexec.hydra built can't be run on frontend, but the backend has no make so I can just do "make testing" on the backend. I suppose I need a mpiexec.hydra built for frontend and used it on runtest. Anyway, let me know if there is any documentation on launching hydra in such cross-compilation env.
PS. I cc'ed this to mpich2-core just in case someone else may find the scripts useful for other platform.
A.Chan
----- Original Message -----
Hey,
Any update on the MPICH2 Fortran bindings for MIC? We should try to fix it up soon.
-- Pavan
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
-- Pavan Balaji http://www.mcs.anl.gov/~balaji
participants (3)
-
Anthony Chan -
Pavan Balaji -
Rob Latham