Changes between Version 1 and Version 2 of SandBox


Ignore:
Timestamp:
10/25/12 19:11:29 (9 years ago)
Author:
aclsce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SandBox

    v1 v2  
    1 = The Sandbox = 
     1== How to extract and compile XIOS == 
    22 
    3 This is just a page to practice and learn WikiFormatting.  
     3 * svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS[[BR]] 
    44 
    5 Go ahead, edit it freely. 
     5 * cd XIOS[[BR]] 
     6 
     7 * '''./make_xios --help''' (or ./make_xios -h)  
     8{{{ 
     9make_xios - installs XIOS on your architecture 
     10make_xios [options] 
     11options : 
     12       [--prod] : compilation in production mode (default) 
     13       [--dev] : compilation in development mode 
     14       [--debug] : compilation in debug mode 
     15       --arch arch : to choose target architecture 
     16       [--avail] : to know available target architectures  
     17       [--full] : to generate dependencies and recompile from scratch 
     18       [--use_oasis] : to use Oasis coupler 
     19       [--doc] : to generate Doxygen documentation (not available yet) 
     20       [--job ntasks] : to use parallel compilation with ntasks 
     21       [--netcdf_lib 'netcdf4_par'/'netcdf4_seq' : default netcdf4_par] : choice of netcdf library 
     22}}} 
     23 
     24 * Known architectures : '''./make_xios --avail''' 
     25{{{ 
     26GCC_LINUX 
     27GCC_MACOSX 
     28IA64_PLATINE 
     29PW6_VARGAS 
     30X64_CURIE 
     31X64_HORUS 
     32X64_TITANE 
     33X64_TITANE_GCC 
     34X64_TITANE_VAMPIR 
     35X86_LOCGNU_FEDORA 
     36X86_LOCINTEL_FEDORA 
     37XT6_LYNX 
     38 
     39}}} 
     40 
     41 * Compilation 
     42  * On an known architecture. For example : '''./make_xios --arch X64_CURIE''' 
     43  * On an new architecture. You have to create your "arch_NEW_ARCH.fcm" and "arch_NEW_ARCH.path" files[[BR]] 
     44 
     45 * Choice of compilation mode. As explained in the "help", there are three compilation modes : 
     46   * [--prod] : compilation in production mode (default) 
     47   * [--dev] : compilation in development mode 
     48   * [--debug] : compilation in debug mode 
     49For example : '''./make_xios --dev --arch PW6_VARGAS''' 
     50 
     51 * Use of "arch*.env" file. "arch*.env" file is an optionnal file (used only if it exists) which allows to define a compilation evironment in order to compile XIOS server. 
     52 
     53For example : cat arch-X64_TITANE_GCC.env 
     54  
     55{{{ 
     56module unload bullxmpi 
     57module load openmpi/1.4.2_gnu 
     58module unload intel 
     59module load gcc 
     60 
     61export HDF5_INC_DIR=$WORKDIR/hdf5/include 
     62export HDF5_LIB_DIR=$WORKDIR/hdf5_gnu/lib 
     63 
     64export NETCDF_INC_DIR=$WORKDIR/netcdf4/include 
     65export NETCDF_LIB_DIR=$WORKDIR/netcdf4_gnu/lib 
     66}}} 
     67 
     68 * Use of netcdf library. It is possible to use netcdf in parallel mode or not : 
     69  * --netcdf_lib netcdf4_seq : only the multiple_file writing mode is available.   
     70  * --netcdf_lib netcdf4_par : both one_file and mutliple_file are available. 
     71 
     72== How to run XIOS test == 
     73 
     74The compilation is ok. You have now two executables files in XIOS/bin directory :   
     75   * test_client.exe : a test client executbale  
     76   * xios_server.exe : server executable 
     77 
     78You can play with XIOS using test_client.exe (and xios_server.exe) to run on attached mode (and server mode i.e MPMD mode) 
     79 
     80 * Attached mode : 
     81 
     82{{{ 
     83<variable id="using_server" type="boolean">false</variable> 
     84 
     85}}} 
     86 
     87The xios library is linked to client test. The server executable is not used. The asynchroneous writing mode is not activated. The parallel writing mode (i.e one_file ) is available.  
     88 
     89For example : 
     90 
     91* On curie machine : 
     92ccc_msub Job 
     93with Job : 
     94 
     95 
     96{{{ 
     97#!/usr/bin/ksh 
     98#MSUB -r XIOS       # nom de la requete 
     99#MSUB -o Script_Output_XIOS.000001    # nom du fichier de sortie 
     100#MSUB -e Script_Output_XIOS.000001    # nom du fichier de sortie 
     101#MSUB -eo 
     102#MSUB -n 10 # reservation des processeurs pour le job 
     103#MSUB -T 1800             # Limite temps (en secondes) 
     104#MSUB -q standard 
     105#MSUB -Q test 
     106#MSUB -p gen2211 
     107 
     108cd /ccc/scratch/cont003/dsm/p86caub/XIOS/bin 
     109/usr/bin/time ccc_mprun ./test_client.exe 
     110 
     111}}} 
     112 
     113* Server mode 
     114 
     115{{{ 
     116 <variable id="using_server" type="boolean">true</variable> 
     117}}} 
     118  
     119 
     120The server executable is used. The asynchroneous writing mode is activated. The parallel writing mode (i.e one_file ) is available.  
     121 
     122For example : 
     123 
     124* On vargas machine : 
     125llsubmit Job 
     126 
     127with Job : 
     128 
     129 
     130{{{ 
     131# Nom de la requete 
     132# @ job_name = Jobname 
     133# @ job_type = parallel 
     134# Fichier de sortie standard 
     135# @ output = Script_Output_000001 
     136# Fichier de sortie erreur (le meme) 
     137# @ error = Script_Output_000001 
     138# Nombre de processus demandes 
     139# @ total_tasks = 10 
     140# Temps CPU max. par processus MPI hh:mm:ss 
     141# @ wall_clock_limit = 0:10:00 
     142# Memoire max. utilisee par processus 
     143# @ data_limit = 3.2gb 
     144# Memoire stack a etendre si besoin 
     145## @ stack_limit = 0.5gb,0.5gb 
     146# Pas d OpenMP 
     147# @ resources = ConsumableCpus(1) 
     148# Fin de l entete 
     149# @ queue 
     150# @ class = debug 
     151  
     152cd /workgpfs/rech/ces/rces061/XIOS/bin 
     153poe -pgmmodel MPMD -cmdfile ./run_file 
     154 
     155}}} 
     156 
     157with run_file is : 
     158 
     159 
     160{{{ 
     161./test_client.exe 
     162./test_client.exe 
     163./test_client.exe 
     164./test_client.exe 
     165./test_client.exe 
     166./test_client.exe 
     167./test_client.exe 
     168./test_client.exe 
     169./xios_server.exe 
     170./xios_server.exe 
     171}}} 
     172 
     173 
     174This configuration will launch test_client on 8 processes and xios server on 2 processes. 
     175 
     176 * Multiple_file mode 
     177 
     178{{{ 
     179 <file_definition type="multiple_file"> 
     180}}} 
     181 
     182 
     183Each client process (or server process) in attached mode (or server mode) writes its output files.  
     184Mode available with both "netcdf4_par" and "netcdf4_seq". 
     185 
     186 * One_file mode  
     187 
     188{{{ 
     189<file_definition type="one_file"> 
     190}}} 
     191 
     192 
     193Parallel writing from each client process (or server process) in attached mode (or server mode) to one file. 
     194Mode available only with "netcdf4_par".