Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add blog post on oneAPI v1.5. #43

Merged
merged 1 commit into from
May 24, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions post/2024-05-24-oneapi_1.5.md
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).
Loading