Changes between Initial Version and Version 1 of documentation


Ignore:
Timestamp:
10/31/12 16:58:30 (11 years ago)
Author:
aclsce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • documentation

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