-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
+++ | ||
title = "oneAPI.jl 1.5: Ponte Vecchio support and oneMKL improvements" | ||
author = "Tim Besard" | ||
external = true | ||
abstract = """ | ||
oneAPI.jl v1.5 is a significant release that brings many new features, from extended | ||
hardware support to greatly improved wrappers of the oneMLK math library.""" | ||
+++ | ||
|
||
{{abstract}} | ||
|
||
|
||
## Intel Ponte Vecchio | ||
|
||
In oneAPI.jl v1.5 we introduce support for the Intel Ponte Vecchio (PVC) architecture, | ||
which empowers the Xe HPC GPUs as found in the Aurora supercomputer: | ||
|
||
```julia-repl | ||
julia> oneAPI.versioninfo() | ||
Binary dependencies: | ||
- NEO: 24.13.29138+0 | ||
- libigc: 1.0.16510+0 | ||
- gmmlib: 22.3.18+0 | ||
- SPIRV_LLVM_Translator_unified: 0.4.0+0 | ||
- SPIRV_Tools: 2023.2.0+0 | ||
Toolchain: | ||
- Julia: 1.10.3 | ||
- LLVM: 15.0.7 | ||
1 driver: | ||
- 00000000-0000-0000-17d2-6b1e010371d2 (v1.3.29138, API v1.3.0) | ||
16 devices: | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
- Intel(R) Data Center GPU Max 1550 | ||
``` | ||
|
||
Apart from [a handful of MKL-related | ||
issues](https://github.com/JuliaGPU/oneAPI.jl/issues/428), oneAPI.jl is fully functional on | ||
PVC, and passes all tests. | ||
|
||
|
||
## oneMLK wrappers | ||
|
||
Thanks to the work of [@amontoison](https://github.com/amontoison), oneAPI.jl now provides | ||
greatly improved wrappers of the oneMKL library. This includes support for: | ||
|
||
- LAPACK: `geqrf`(`_batched`), `orgqr`(`_batched`), `ormqr`, `potrf`(`_batched`), | ||
`potrs`(`_batched`), `getrf`(`_batched`), `getri`(`_batched`), `gebrd`, `gesvd`, | ||
`syevd`, `heevd`, `sygvd`, `hegvd` | ||
- Sparse arrays: `sparse_gemm`, `sparse_gemv`, `sparse_symv`, `sparse_trmv`, `sparse_trsv`, | ||
`sparse_optimize_gemv`, `sparse_optimize_trsv` | ||
|
||
Where possible, these functions are integrated with standard library interfaces, e.g., | ||
making it possible to simply call `eigen`, or to multiply two `oneSparseMatrixCSR`s. | ||
|
||
|
||
## Minor changes | ||
|
||
There have of course been many other changes and improvements in oneAPI.jl v1.5. For a full | ||
list, please refer to the [release | ||
notes](https://github.com/JuliaGPU/oneAPI.jl/releases/tag/v1.5.0), but some highlights | ||
include: | ||
|
||
- a new launch configuration heuristic that should generally improve performance; | ||
- broadcast now preserves the buffer type (host, device, or shared); | ||
- support for very large arrays that exceed the default device memory limit; | ||
- several toolchain bumps, with v1.5 using oneAPI 2024.1.0 with driver 24.13.29138.7; | ||
- minimal support for native Windows (next to WSL, which is fully supported). |