Cargando…
Towards a cross-platform performance portability math kernel library in SYCL
<!--HTML-->The increasing number of high-performance computing centers around the globe is providing physicists and other researchers access to heterogeneous systems -- comprising multiple central processing units and graphics processing units per node -- with various platforms. However, it is...
Autor principal: | |
---|---|
Lenguaje: | eng |
Publicado: |
2021
|
Materias: | |
Acceso en línea: | http://cds.cern.ch/record/2767253 |
_version_ | 1780971283411894272 |
---|---|
author | Pascuzzi, Vincent |
author_facet | Pascuzzi, Vincent |
author_sort | Pascuzzi, Vincent |
collection | CERN |
description | <!--HTML-->The increasing number of high-performance computing centers around the globe is providing physicists and other researchers access to heterogeneous systems -- comprising multiple central processing units and graphics processing units per node -- with various platforms. However, it is more often than not the case that domain scientists have limited resources such that writing multiple implementations of their codes to target the different platforms is unfeasible. To help address this, a number of portability layers are being developed that aim to allow programmers to achieve performant, portable codes; for example, Intel(R) oneAPI, which is based on the SYCL programming model. Nevertheless, portable application programming interfaces often lack some features and tools that are manifest in a platform-specific API. High-energy physicists in particular rely heavily on large sets of random numbers in nearly their entire workflow, from event generation to analysis. In this paper, we detail the implementation of a cuRAND backend into Intel's oneMKL, permitting random number generation within oneAPI applications on NVIDIA hardware using libraries optimised for these devices. By utilizing existing optimisations, we demonstrate the ability to achieve nearly native performance in cross-platform applications. |
id | cern-2767253 |
institution | Organización Europea para la Investigación Nuclear |
language | eng |
publishDate | 2021 |
record_format | invenio |
spelling | cern-27672532022-11-02T22:25:37Zhttp://cds.cern.ch/record/2767253engPascuzzi, VincentTowards a cross-platform performance portability math kernel library in SYCL25th International Conference on Computing in High Energy & Nuclear PhysicsConferences<!--HTML-->The increasing number of high-performance computing centers around the globe is providing physicists and other researchers access to heterogeneous systems -- comprising multiple central processing units and graphics processing units per node -- with various platforms. However, it is more often than not the case that domain scientists have limited resources such that writing multiple implementations of their codes to target the different platforms is unfeasible. To help address this, a number of portability layers are being developed that aim to allow programmers to achieve performant, portable codes; for example, Intel(R) oneAPI, which is based on the SYCL programming model. Nevertheless, portable application programming interfaces often lack some features and tools that are manifest in a platform-specific API. High-energy physicists in particular rely heavily on large sets of random numbers in nearly their entire workflow, from event generation to analysis. In this paper, we detail the implementation of a cuRAND backend into Intel's oneMKL, permitting random number generation within oneAPI applications on NVIDIA hardware using libraries optimised for these devices. By utilizing existing optimisations, we demonstrate the ability to achieve nearly native performance in cross-platform applications.oai:cds.cern.ch:27672532021 |
spellingShingle | Conferences Pascuzzi, Vincent Towards a cross-platform performance portability math kernel library in SYCL |
title | Towards a cross-platform performance portability math kernel library in SYCL |
title_full | Towards a cross-platform performance portability math kernel library in SYCL |
title_fullStr | Towards a cross-platform performance portability math kernel library in SYCL |
title_full_unstemmed | Towards a cross-platform performance portability math kernel library in SYCL |
title_short | Towards a cross-platform performance portability math kernel library in SYCL |
title_sort | towards a cross-platform performance portability math kernel library in sycl |
topic | Conferences |
url | http://cds.cern.ch/record/2767253 |
work_keys_str_mv | AT pascuzzivincent towardsacrossplatformperformanceportabilitymathkernellibraryinsycl AT pascuzzivincent 25thinternationalconferenceoncomputinginhighenergynuclearphysics |