Skip to content

Commit bef505c

Browse files
authored
Create 2023-10-24-a-performance-portable-sycl-implementation-of-crk-hacc-for-exascale.md
Adds, "A Performance-Portable SYCL Implementation of CRK-HACC for Exascale"
1 parent 7494ab2 commit bef505c

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
contributor: max
3+
date: '2023-10-24T08:08:10.490000+00:00'
4+
title: 'A Performance-Portable SYCL Implementation of CRK-HACC for Exascale'
5+
external_url: https://arxiv.org/pdf/2310.16122
6+
authors:
7+
- name: Esteban M. Rangel
8+
- name: S. John Pennycook
9+
- name: Adrian Pope
10+
- name: Nicholas Frontiere
11+
- name: Zhiqiang Ma
12+
- name: Varsha Madananth
13+
tags:
14+
- sycl
15+
- hpc
16+
- cuda
17+
- hip
18+
- heterogeneous-programming
19+
---
20+
21+
The first generation of exascale systems will include a variety of machine architectures, featuring GPUs from multiple vendors.
22+
As a result, many developers are interested in adopting portable pro- gramming models to avoid maintaining multiple versions of
23+
their code. It is necessary to document experiences with such program- ming models to assist developers in understanding the advantages and
24+
disadvantages of different approaches.
25+
To this end, this paper evaluates the performance portability of a SYCL implementation of a large-scale cosmology application (CRK-HACC)
26+
running on GPUs from three different vendors: AMD, Intel, and NVIDIA. We detail the process of migrating the original code from CUDA to
27+
SYCL and show that specializing kernels for specific targets can greatly improve performance portability with- out significantly impacting
28+
programmer productivity. The SYCL version of CRK-HACC achieves a performance portability of 0.96 with a code divergence of almost 0,
29+
demonstrating that SYCL is a viable programming model for performance-portable applications.

0 commit comments

Comments
 (0)