ASKAP Benchmark Packages
C++ Cuda Makefile Go C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cub @ a615c0f
tConvolveCuda
tConvolveMPI
tHogbomCleanCuda
tHogbomCleanGo
tHogbomCleanMIC
tHogbomCleanOMP
.gitignore
.gitmodules
LICENSE
README.md

README.md

ASKAP Benchmark Packages

These benchmark packages were used to benchmark a variety of platforms for the Australian SKA Pathfinder (ASKAP) Science Data Processor. These benchmarks have been made widely available to vendors.

Hogbom Clean Benchmark (tHogbomClean)

The tHogbomClean benchmark implements the kernel of the Hogbom Clean deconvolution algorithm. This simple benchmark was written to benchmark the Intel Xeon Phi accelerator, previously known as Many Integrated Cores (MIC). This benchmark is quite minimal and actually omits the final step, convolution of the model with the clean beam, but this involves the similar operations to the other steps as far as the CPU is concerned.

Execution of both the tHogbomClean benchmarks will require the existence of the point spread function (PSF) image and the dirty image (the image to be cleaned) the working directory. These can be downloaded from here:

tHogbomCleanMIC

This original implementation of the benchmark targets the Intel Xeon Phi accelerator.

tHogbomCleanOMP

This implementation uses OpenMP to utilize multiple cores in a single shared-memory system.

tHogbomCleanCuda

This is implemented in NVIDIA CUDA and executes on a single NVIDIA GPU. Note, a more portable version of this benchmark implemented by Mark Harris of NVIDIA can be found here: https://github.com/harrism/tHogbomCleanHemi

Convolutional Resamping Benchmark (tConvolve)

This benchmark suite include parallel implementations of Tim Cornwell's original tConvolveBLAS benchmark. The tConvolve benchmark programs measures the performance of a convolutional resampling algorithm as used in radio astronomy data processing. The benchmark is configured to reflect the computing needs of the Australian Square Kilometer Array Pathfinder (ASKAP) Science Data Processor. A more detailed description and some analysis of this algorithm is found in SKA Memo 132.

tConvolveMPI

The implementation distributes work to multiple CPU cores or multiple nodes via Message Passing Interface (MPI) much like the ASKAP software, and while it is possible to benchmark an entire cluster the aim of the benchmark is primarily to benchmark a single compute node.

tConvolveCuda

This is implemented in NVIDIA CUDA and executes on a single NVIDIA GPU.