We explain libraries for SQUID vector nodes on this page.
 
NEC Numeric Library Collection (NEC NLC)
HDF5
NetCDF
Parallel netcdf
 

NEC Numeric Library Collection (NEC NLC)

    NEC NLC is a numerical computing library optimized for the SX-Aurora TSUBASA system, a vector computing environment, which includes ASL and MathKeisan provided by the NEC SX-ACE system and a variety of other libraries including BLAS, LAPACK, ScaLAPACK, etc. BLAS, LAPACK, ScaLAPACK, etc. In this system, the following two modules are provided in the environment of BaseVEC module. necnlc module (32-bit integer version) ・necnlc-mpi module (32-bit integer + distributed memory parallel)
    Please see the following for how to link.

    serial execution

      # ASL native interface 32bit integer version library statically linked
      $ module load BaseVEC/2021
      $ module load necnlc/2.3.0
      $ nfort -c sample.f # Compile
      $ nfort -lasl_sequential -static sample.o # Link

    distributed memory parallel

      # ASL native interface 32bit integer version ScaLAPACK statically linked
      $ module load BaseVEC/2021
      $ module load necnlc-mpi/2.3.0
      $ mpinfort -c sample.f # Compile
      $ mpinfort -lscalapack -llapack -lblas_sequential \ # Link
      -static sample.o

    If the -static option is not specified, the link is dynamic.
     
    For detailed information on how to use NEC NLC, please refer to the official online documentation.
    NEC Numeric Library Collection 2.3.0 Users Guide

 

HDF5

    HDF5 is a library for generating files that can store large amounts of data in a hierarchically structured manner. It is maintained for each computing environment. To use this library, the option -lhdf5 is given at compile time. The following is an example of linking the library.

    $ module load BaseVEC
    $ module load hdf5
    $ ncc -o h5-sample h5-sample.c -lhdf5 -ldl

 

NetCDF

    NetCDF is a library that can use binary file format, which is widely used as a common data format, for the purpose of storing scientific multi-dimensional data. In this system, the library is prepared to be used from C/C++/FORTRAN languages respectively for each computing environment. In order to use the library, you need to add options such as -lnetcdf when compiling. The following is a link example of the library.

    C

      $ module load BaseVEC
      $ module load netcdf-c
      $ ncc -o ncdf-sample ncdf-sample.c -ldl -lnetcdf -lhdf5_hl -lhdf5 -lsz

      f

    C++

      $ module load BaseVEC
      $ module load netcdf-cxx
      $ nc++ -o ncdf-sample ncdf-sample.cpp \
      -lnetcdf_c++4 -lnetcdf -lhdf5 -lhdf5_hl -ldl -lsz

    FORTRAN

      $ module load BaseVEC
      $ module load netcdf-fortran
      $ nfort -o ncdf-sample ncdf-sample.f90 -lnetcdff -lnetcdf -lhdf5 -lhdf5_hl -ldl -lsz

 

PnetCDF

    PnetCDF is a library for concurrent access to NetCDF format files from parallel programs. In this system, PnetCDF can be used in C/C++/FORTRAN language for each computing environment. In order to use the library, you need to add options such as -lpnetcdf when compiling. The following is a link example of the library.

    C

      $ module load BaseVEC
      $ module load pnetcdf-c
      $ mpincc -o pncdf-sample pncdf-sample.c -lpnetcdf -lmpi

    C++

      $ module load BaseVEC
      $ module load pnetcdf-cxx
      $ mpinc++ -o pncdf-sample pncdf-sample.cpp -lpnetcdf -lmpi -lmpi

    FORTRA語

      $ module load BaseVEC
      $ module load netcdf-fortran
      $ mpinfort -o pncdf-sample pncdf-sample.f90 -lpnetcdf -lmpi