HySEA (Hyperbolic Systems and Efficient Algorithms) is a high-performance package developed by the EDANYA group at the University of Málaga, Spain, for the simulation of geophysical flows.
Tsunami-HySEA is a module of HySEA to simulate tsunamis generated by earthquakes.
The SYCL version of Tsunami-HySEA has been implemented by Intel Corporation engineers Matthias Kirchhart and Kazuki Minemura.
The Tsunami-HySEA SYCL version has been tested with the oneAPI DPC++ compiler on linux machines.
If a CUDA-capable GPU and a recent CUDA version are available, then the code can run on a NVIDIA GPU.
The Intel oneAPI Toolkit, along with the Codeplay oneAPI plugin for NVIDIA GPUS, can also be used to compile and run the code on NVIDIA GPUs.
NetCDF
Using the oneAPI DPC++ compiler, the SYCL code can be compiled to run on NVIDIA GPUs as follows:
clang++ -O3 -fsycl -fsycl-targets=nvidia_gpu_sm_80 -I<path to src> -o TsunamiHySEA <path to src>/*.cxx <path to src>/GPU/*.cxx -lnetcdf
Replace the "80" in nvidia_gpu_sm_80 with the corresponding compute capability of the graphics card. In this web page, the compute capabilities of all the CUDA GPUs are shown:
https://developer.nvidia.com/cuda-gpus
If CUDA is not located in /usr/local/cuda, then the flag --cuda-path=<path to cuda directory>
should be added to the previous compilation command.
-Example with initialization using Okada parameters:
ONEAPI_DEVICE_SELECTOR=ext_oneapi_cuda:gpu SYCL_PI_TRACE=1 TsunamiHySEA <path to Mediterranean/mediterranean.txt>
The NetCDF file mediterranean.nc is generated.
The SYCL_PI_TRACE is an optional variable that enables tracing. It can be omitted.
The topobathymetry file is a NetCDF file with "lon" (or "x") and "lat" (or "y") variables in double precision, and the "z" variable (the topobathymetry) in single precision.
The initial state file, if provided, is a NetCDF file with the same format as the topobathymetry file. Water velocities are initialized to zero.
The file with the points for the time series is a text file with an integer indicating the number of points, followed by the longitude and latitude of all the points.
The core version of Tsunami-HySEA is distributed under GNU GENERAL PUBLIC LICENSE.
EDANYA group: https://www.uma.es/edanya
HySEA: https://edanya.uma.es/hysea
Intel oneAPI DPC++ compiler: https://github.com/intel/llvm