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 | ||
