High-Performance Python – Compiled Code and C Interface
Although Python is a popular language, in the high-performance world, it is not known for being fast. A number of tactics have been employed to make Python faster. We look at three: Numba, Cython, and ctypes.
OpenMP – Coding Habits and GPUs
In this third and last article on OpenMP, we look at good OpenMP coding habits and present a short introduction to employing OpenMP with GPUs.
Porting Code to OpenACC
OpenACC directives can improve performance if you know how to find where parallel code will make the greatest difference.
OpenACC Directives for Data Movement
The OpenACC data directive and its associated clauses allow you to control the movement of data between the host CPU and the accelerator GPU.
Parallelizing Code – Loops
OpenACC is a great tool for parallelizing applications for a variety of processors. In this article, I look at one of the most powerful directives, loop.
TUIs, a Smoke-Jumping Admin’s Best Friend
Sys admins are like smokejumpers who parachute into fires, fighting them until they are out, or at least under control. When you jump into the fire, you only have the tools you brought with you.
Slurm Job Scheduling System
One way to share HPC systems among several users is to use a software tool called a resource manager. Slurm, probably the most common job scheduler in use today, is open source, scalable, and easy to install and customize.
An Introduction to SymPy
The Python SymPy library for symbolic mathematics allows you to create complex mathematical expressions.