14 Nov, 2022
HECC has deployed a testbed environment comprising a NEC SX-Aurora TSUBASA system hosting two nodes of NEC Vector Engines. To support current and future users who would like to evaluate the system for their needs, all NAS users are invited to a training session hosted by NEC on Tuesday, December 6, 2022 from 9:00 a.m. to 11:30 a.m. (Pacific Time).
Please see the abstract and agenda below, and keep an eye out for an email with login details for this online meeting.
Abstract
NEC Vector Engine is a modern realization of a traditional vector architecture in its purest sense. While most modern architectures aim for high peak performance numbers through efficient cache utilization and core parallelization, the memory wall continues to persist—impacting the sustained performance of solvers with large datasets over long periods of simulation time. Vector processing targets high sustained performance by resolving the memory wall with higher memory performance through large memory bandwidths, however, it can be challenging to write good vectorized code that can leverage this memory performance.
This session has been designed to help HPC users understand the provisions and features of the NEC SDK, and how these features can be leveraged to write good vector code with basic knowledge of Fortran, C and C++ and no need for understanding any special programming frameworks.
Agenda
Introduction to NEC Vector Engine (10 minutes)
- Scalar and Vector Architectures
- Vectorization
- Programmatic Representation on Vector Architectures
- Specs of the NEC Vector Engine
- Structure of the SDK
Porting an Application to NEC VE-Based Systems (10 minutes)
- How to Use the SDK
- Compiler and its Features
- Available Libraries
- Performance Analysis and tools
Details of Vectorization (40 minutes)
- Vectorization features
- Vectorizable coding paradigms and Vectorization hindrances
- Behavior of a vectorized program
- Application tuning techniques
- Notes on using Vectorization
Demonstration of Examples (15 minutes)
- Break (5 minutes) -
OpenMP and Automatic Thread Parallelization (15 minutes)
- OpenMP parallelization and its support
- Automatic parallelization in the NEC SDK
- Tuning a parallelized program
- Notes on using parallelization
MPI Parallelization (15 minutes)
- Overview of MPI features
- Hybrid MPI – Scalar-Vector hybrid
- VE Offloading and CUDA support
- Executing and Profiling an MPI application (hands-on)
Case Study (30 minutes)
- Basic Background of the Case Study
- Performance Breakdown
Q & A (10 minutes)