roberto.depietri:pub:grid_it_tests
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
roberto.depietri:pub:grid_it_tests [11/07/2012 16:27] – roberto.depietri | roberto.depietri:pub:grid_it_tests [24/09/2012 10:13] (versione attuale) – roberto.depietri | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | File are in | ||
+ | cd / | ||
+ | To start | ||
+ | | ||
+ | | ||
+ | |||
+ | ====== LOGIN ====== | ||
+ | |||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | In this way we are connected to the test virtual organization that we use | ||
+ | for testing. The specific requirements that one has to specify to | ||
+ | run on one of the participating nodes are list below. | ||
+ | |||
+ | The basic test we first execute is a test the we are able to allocate two whole | ||
+ | nodes and we are able to compile and run a very basic MPI program. | ||
+ | |||
+ | === Test results === | ||
+ | |||
+ | Up to now we successfully run this test on the PARMA and NAPOLI nodes. On the PISA nodes | ||
+ | we are in queue. On the PERUGIA node we are able to compile but mpi-start | ||
+ | fails with the error | ||
+ | |||
+ | ....omissis... | ||
+ | + / | ||
+ | -x X509_USER_PROXY -x OMP_NUM_THREADS --prefix -4_PATH -machinefile / | ||
+ | -npernode 1 ./GETINFO | ||
+ | bash: -4_PATH/ | ||
+ | ....omissis... | ||
+ | |||
+ | |||
+ | |||
+ | ====== Nodes that are participating ====== | ||
+ | |||
+ | ===== Generic ===== | ||
+ | |||
+ | requirements=(other.GlueCEImplementationVersion==" | ||
+ | Member(" | ||
+ | |||
+ | ===== Parma ===== | ||
+ | |||
+ | |||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | |||
+ | ===== INFN-Pisa ===== | ||
+ | |||
+ | |||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | ===== UNI-NA ===== | ||
+ | |||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | ===== INI-PG ===== | ||
+ | |||
+ | |||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | |||
+ | MPI_START errr: | ||
+ | mpi-start [DEBUG | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | executed with message | ||
+ | |||
+ | declare -x PBS_NP=" | ||
+ | declare -x PBS_NUM_NODES=" | ||
+ | declare -x PBS_NUM_PPN=" | ||
+ | There are [1] MPI Process on this job ! | ||
+ | --Process rank [0] with nthreads=1 Executing on node: nx02.grid.unipg.it | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Files used for the tests ====== | ||
+ | |||
+ | ===== JDL ===== | ||
+ | |||
+ | The main JDL to be used are made like this | ||
+ | |||
+ | JobType = " | ||
+ | Executable | ||
+ | Arguments | ||
+ | StdOutput | ||
+ | StdError | ||
+ | InputSandbox | ||
+ | OutputSandbox = {" | ||
+ | MyProxyServer = " | ||
+ | WholeNodes = True; | ||
+ | HostNumber = 2; | ||
+ | Requirements=(other.GlueCEUniqueID==" | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== .BASH ===== | ||
+ | |||
+ | The behavior is controlled by the configuration file of mpi-start | ||
+ | was rule are defined [[http:// | ||
+ | |||
+ | #!/bin/bash | ||
+ | cat > pre_run_hook.sh <<EOF | ||
+ | pre_run_hook () { | ||
+ | echo " | ||
+ | echo "** pre run hook called " | ||
+ | echo " | ||
+ | env|grep MPI_ | ||
+ | echo " | ||
+ | echo "** compile Programm " | ||
+ | echo " | ||
+ | echo " | ||
+ | \$MPI_MPICC \$MPI_MPICC_OPTS -fopenmp mpi_getinfo.c -o GETINFO | ||
+ | ls -lth | ||
+ | echo " | ||
+ | echo "** END of compilation " | ||
+ | echo " | ||
+ | return 0 | ||
+ | } | ||
+ | EOF | ||
+ | cat > mpi_getinfo.c <<EOF | ||
+ | / | ||
+ | /* mpi_getinfo.c | ||
+ | / | ||
+ | #include < | ||
+ | #include < | ||
+ | #include " | ||
+ | int main(int argc, char **argv) | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | # | ||
+ | | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | printf(" | ||
+ | tot_threads = nthreads; | ||
+ | for(i = 1; i < np; i++) | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | printf(" | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | MPI_Send(& | ||
+ | MPI_Send(& | ||
+ | MPI_Send(name, | ||
+ | } | ||
+ | MPI_Finalize(); | ||
+ | return 0; | ||
+ | } | ||
+ | EOF | ||
+ | | ||
+ | echo " | ||
+ | echo "* Print the execution ENVINRONMENT | ||
+ | echo " | ||
+ | export | ||
+ | echo " | ||
+ | echo " MPI start -- no opt with compiler PREHOOK | ||
+ | echo " | ||
+ | mpi-start -t openmpi -pre ./ | ||
+ | echo " | ||
+ | echo " MPI start PSOCKET " | ||
+ | echo " | ||
+ | mpi-start -t openmpi -psocket $@ -- ./ | ||
+ | echo " | ||
+ | echo " MPI start PCORE " | ||
+ | echo " | ||
+ | mpi-start -t openmpi -pcore | ||
+ | echo " | ||
+ | echo " MPI start PNODE " | ||
+ | echo " | ||
+ | mpi-start -t openmpi -pnode |