Environnement Commun Linux : Différence entre versions

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher
m
m
Ligne 17: Ligne 17:
 
**'''EC_ARCH''' : name of the hardware+software architecture of the machine ('''BASE_ARCH''' + compiler usually)  
 
**'''EC_ARCH''' : name of the hardware+software architecture of the machine ('''BASE_ARCH''' + compiler usually)  
 
*Useful memory layout information  
 
*Useful memory layout information  
**Linux memory layout<br>
+
**Linux memory layout ('''OMP_STACKSIZE''' environment variable controls thread (&gt;0) stack size)<br>
  
 
  128 TB ---------------------------------  Top of memory
 
  128 TB ---------------------------------  Top of memory
              |  thread 0 (master) stack
+
          |  thread 0 (master) stack
              |  local variables
+
          |  local variables
              \ /
+
          \ /
 
   
 
   
 
   
 
   
              / \
+
          / \
              |
+
          |
              |  heap (allocate/malloc)
+
          |  heap (allocate/malloc)
 
  ~44 TB ---------------------------------  
 
  ~44 TB ---------------------------------  
 
   
 
   
              |  thread N stack
+
          |  thread N stack
              |
+
          |
              \ /
+
          \ /
 
   
 
   
              |  thread N-1 stack
+
          |  thread N-1 stack
              |
+
          |
              \ /
+
          \ /
 
   
 
   
              ...
+
          ...
 
   
 
   
              |  thread 1 stack
+
          |  thread 1 stack
              |
+
          |
              \ /
+
          \ /
 
   
 
   
 
   
 
   
              / \
+
          / \
              |  code + static data
+
          |  code + static data
              |  (common blocks + some main program arrays)
+
          |  (common blocks + some main program arrays)
              |
+
          |
 
  000 ---------------------------------- Bottom of memory  
 
  000 ---------------------------------- Bottom of memory  
  
**'''OMP_STACKSIZE''' environment variable controls thread (&gt;0) stack size
 
 
*Useful information about system  
 
*Useful information about system  
 
**'''/proc/cpuinfo'''&nbsp;: pseudo file containing a full description of logical cpus in a linux system (cat/less/more)&lt;br&gt;  
 
**'''/proc/cpuinfo'''&nbsp;: pseudo file containing a full description of logical cpus in a linux system (cat/less/more)&lt;br&gt;  

Version depuis le 21 de novembre 2011 à 13:26

en construction(cette page s'adresse principalement aux développeurs)

under construction(this page is mainly for developers)

  • Useful environment variables
    • PATH : colon ':' separated list of directories where executables or sourced (.) shell includes are to be found
    • LD_LIBRARY_PATH : colon ':' separated list of directories where dynamic libraries (.so files) needed by executables can be found
    • EC_LD_LIBRARY_PATH : colon ':' separated list of directories where s.compile, s.f90  et al. will look for libraries
    • EC_INCLUDE_PATH : colon ':' separated list of directories where s.compile, s.f90  et al. will look for include files
    • BASE_ARCH : name of the hardware architecture of the machine
    • EC_ARCH : name of the hardware+software architecture of the machine (BASE_ARCH + compiler usually)
  • Useful memory layout information
    • Linux memory layout (OMP_STACKSIZE environment variable controls thread (>0) stack size)
128 TB ---------------------------------  Top of memory
          |   thread 0 (master) stack
          |   local variables
         \ /


         / \
          |
          |   heap (allocate/malloc)
~44 TB --------------------------------- 

          |   thread N stack
          |
         \ /

          |   thread N-1 stack
          |
         \ /

         ...

          |   thread 1 stack
          |
         \ /


         / \
          |   code + static data
          |   (common blocks + some main program arrays)
          |
000 ---------------------------------- Bottom of memory 
  • Useful information about system
    • /proc/cpuinfo : pseudo file containing a full description of logical cpus in a linux system (cat/less/more)<br>
  • useful commands<br>
    • r.mpirun : script front end to mpiexec hiding machine/mpi implementation specific details
    • soumet : script used to submit jobs, hiding machine/batch subsystem specific details<br>