Building CVS Baselibs: Difference between revisions

mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page will detail the process of building Baselibs. For the purposes of this page, <tt>GMAO-Baselibs-4_0_7</tt> as an example tag, but this process should work with any tag after <tt>GMAO-Baselibs-3_3_0</tt>.
This page will detail the process of building Baselibs. For the purposes of this page, <tt>GMAO-Baselibs-4_0_7</tt> as an example tag, but this process should work with any tag after <tt>GMAO-Baselibs-3_3_0</tt>.
NOTE: This is now outdated as Baselibs has moved to GitHub.


== Obtaining Baselibs ==
== Obtaining Baselibs ==


=== Check out Baselibs (CVS) ===
=== Check out Baselibs ===


The first step is to check out the tag you want. Tags on CVS are versions of Baselibs 2.x.y, 3.x.y, and 4.x.y. For version 5.x.y, the recommended Baselibs is now hosted on NASA Internal Github.
The first step is to check out the tag you want. Tags on CVS are versions of Baselibs 2.x.y, 3.x.y, and 4.x.y. For version 5.x.y, the recommended Baselibs is now hosted on NASA Internal Github and build instructions can be found on [[Building_Git_Baselibs|the Building Git Baselibs page]].


==== Set up the 'bcvs' alias ====
==== Set up the 'bcvs' alias ====
Line 22: Line 24:


This will create a <tt>GMAO-Baselibs-4_0_7</tt> inside which is a <tt>src</tt> directory.
This will create a <tt>GMAO-Baselibs-4_0_7</tt> inside which is a <tt>src</tt> directory.
=== Cloning Baselibs (git) ===
For the latest ESMA Baselibs (5.0.3 and higher), you'll need access to the NASA Internal Github (request through NAMS). If you can't get that, please contact Matt Thompson (matthew.thompson AT nasa.gov) and a tarball can be provided. Assuming access to the NASA Internal Github you can run:
$ git clone -b 5.0.4 --recursive git@developer.nasa.gov:mathomp4/ESMA-Baselibs.git ESMA-Baselibs-5.0.4/src
where 5.0.4 is the version.


== Build Baselibs ==
== Build Baselibs ==
Line 102: Line 96:
  -------+---------+---------+--------------
  -------+---------+---------+--------------


Note that this is not as comprehensive as looking at the log file as it is possible that some submakes will fail but not communicate that well enough to the main make process.  
Note that this is not as comprehensive as looking at the log file as it is possible that some submakes will fail but not communicate that well enough to the main make process. Test


== Checking Baselibs ==
== Checking Baselibs ==
Line 111: Line 105:


Note that at the moment, many will exit with errors. For example, NetCDF has tests that require internet access and if a check is done on a compute node with no external access, it will fail.  
Note that at the moment, many will exit with errors. For example, NetCDF has tests that require internet access and if a check is done on a compute node with no external access, it will fail.  
<!--
=== Checking with Intel MPI ===
Note that if you use an older Intel MPI as the MPI stack, when you run the check (on discover) you may have to manually run <tt>mpdboot</tt> to start a mpd ring:
$ mpdboot -n 8 -r ssh -f $PBS_NODEFILE
This example is for 8 nodes. This is not because of Intel MPI ''per se'' but because of codes like netcdf-C that use <tt>mpiexec</tt> as its call to start an MPI process. In Intel MPI older than 2017, mpiexec calls the old MPD version and not Hydra.
== Table of Modules ==
{| class="wikitable" width="95%"
!colspan="3"| Discover
|-
! Compiler || MPI Stack || Other Libraries
|- style="font-family: monospace"
|rowspan="4"|comp/intel-11.0.083 || mpi/impi-3.2.2.006 || rowspan="4"|lib/mkl-10.0.3.020 other/SIVO-PyD/spd_1.6.0_gcc-4.3.4-sp1
|- style="font-family: monospace"
| mpi/impi-4.0.3.008
|- style="font-family: monospace"
| other/mpi/mvapich2-1.8.1/intel-11.0.083
|- style="font-family: monospace"
| other/mpi/openmpi/1.6.0-intel-11.0.083
|- style="font-family: monospace"
|rowspan="2"| comp/intel-13.0.1.117 || other/mpi/mvapich2-1.8.1/intel-13.0.1.117 || rowspan="2"|other/comp/gcc-4.6.3-sp1 other/SIVO-PyD/spd_1.6.0_gcc-4.6.3-sp1
|- style="font-family: monospace"
| mpi/impi-4.0.3.008
|- style="font-family: monospace"
| rowspan="3" | comp/intel-13.1.0.146 || other/mpi/mvapich2-1.8.1/intel-13.1.0.146 || rowspan="4"| lib/mkl-13.0.1.117 other/comp/gcc-4.6.3-sp1 other/SIVO-PyD/spd_1.10.0_gcc-4.6.3-sp1
|- style="font-family: monospace"
| mpi/impi-4.0.3.008
|- style="font-family: monospace"
| other/mpi/openmpi/1.6.3-intel-13.1.0.146
|- style="font-family: monospace"
| rowspan="1" | comp/intel-13.1.1.163 || other/mpi/mvapich2-1.8.1/intel-13.1.1.163
|- style="font-family: monospace"
| rowspan="2"|comp/pgi-12.8.0 || other/mpi/openmpi/1.6.3-pgi-12.8.0 || rowspan="2"|other/comp/gcc-4.6.3-sp1 other/SIVO-PyD/spd_1.6.0_gcc-4.6.3-sp1
|- style="font-family: monospace"
| other/mpi/mvapich2-1.8/pgi-12.8.0
|-
!colspan="3"| Pleiades
|-
! Compiler || MPI Stack || Other Libraries
|- style="font-family: monospace"
| rowspan="3"|comp/intel/11.0.083_64 || mpi-intel/3.2.011 || rowspan="3"|math/intel_mkl_64_10.0.011 python/2.6.1
|- style="font-family: monospace"
| mpi-intel/4.0.2.003
|- style="font-family: monospace"
| mpi-sgi/mpt.2.06rp16
|- style="font-family: monospace"
| comp-intel/2012.0.032 || mpi-sgi/mpt.2.06a67 || rowspan="6"|python/2.6.1
|- style="font-family: monospace"
| rowspan="2"|comp-intel/2013.1.117 || mpi-sgi/mpt.2.06rp16
|- style="font-family: monospace"
| mpi-intel/4.0.2.003
|- style="font-family: monospace"
| rowspan="3"|pgi_12.8 || mvapich2_1.8.1_pgi_12.8
|- style="font-family: monospace"
| mpi-sgi/mpt.2.06a67
|- style="font-family: monospace"
| mpi-sgi/mpt.2.06rp16
|}
-->


[[Category:Baselibs]]
[[Category:Baselibs]]
[[Category:SI Team]]
[[Category:SI Team]]