You can "vector computation" on SQUID Vector nodes, SX-Aurora TSUBASA. On this page, we explain how to execute your own program on Vector nodes.
about SX-Aurora TSUBASA
The SX-Aurora TSUBASA is the successor to "SX-ACE" that was operated at our center. It consists of a vector engine (VE) section that performs arithmetic processing and a vector host (VH) section that mainly performs OS processing. The new vector architecture, in which the entire application runs on the VE and the VH provides the OS functionality, allows high-performance vector computation to be used in a standard x86/Linux environment. This page describes how to use this VE.
8 VEs are installed per vector node, and the performance per VE is as follows
|a number of cores||10 cores||Theoretical computing performance||307 GFLOPS/core||Main memory||48GB HBM2|
Due to the calculation method of SQUID points, we recommend that you execute program per 8 VEs (1 vector node).
However, when you use 8 VEs at the same time, it is necessary to perform parallel computing using MPI because 8 VEs do not have a shared memory configuration.
To perform numerical calculations using SX-Aurora TSUBASA, you need to use "NEC SDK for VE", which is an integrated development environment for SX-Aurora TSUBASA provided by NEC. NEC SDK for VE consists of a compiler and libraries, and programs can be written in fortran, C, and other languages. The compiler performs automatic vectorization, so no specialized knowledge is required.
SQUID manages environment variable settings for compilers, libraries, application environments, etc. with a tool called Environment modules. At first, please execute the following command to load the recommended environment for vector nodes.
% module load BaseVEC
The compile commands on NEC SDK for VE are as follows
For example, if you want to compile the sample program "sample.f90" written in fortran language with the intel compiler, please execute the following command on the frontend.
% nfort sample.f90
Create a job script and request the computation node to execute the program. This kind of execution method is called "batch processing". When you request execution with a "job script", the computation does not start immediately. The computer is used by many people at the same time, so if it is crowded, you may have to wait. In our center, a system called the "scheduler" manages the order in which programs are executed.
In principle, it is prohibited to execute programs on the front-end. As a general rule, executing programs on the front-end is prohibited, so please use batch processing or interactive batch.
An example of a job script is shown below. This is a job script to execute a.out serially (one core) on one Vector Engine (VE) of SQUID vector node.
#PBS -q SQUID-S
#PBS --group=[group name]
#PBS -l elapstim_req=1:00:00
module load BaseVEC
You can show your group name with id command. If a result with id command is the following, your group name is "G12345".
uid=11111(u6a123) gid=12345(G12345) groups=12345(G12345)
This job script is designed to just execute the program, but by specifying additional options, you can also request "send a notification to an email address when the job execution is finished" or "specify the name of the output result file". Please refer to the following pages for details of the job script and other options.
how to write a jobscript
The job script is submitted to the computer and the program is executed. The job script is submitted by the following qsub command. (In this example, the file name of the job script is nqs.sh.)
% qsub nqs.sh
The status of submitted jobs can be checked by qstat command and sstat command. Please refer to the following page for the details of each command and the displayed contents.
After the execution on the calculator is finished, the calculation results are transferred to the frontend. The calculation result will be output as standard output unless otherwise specified in the script. Standard output is "Job Script Name.o Request ID" Standard error output is "Job Script Name.e Request ID" . Please check with an editor.
This is the basic usage flow. If you have any questions about what is written here, please feel free to use the FAQ page or the usage consultation.
Contact / Inquiry form