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

Does device api support exist in this repo? #573

Closed
JackAKirk opened this issue Sep 24, 2024 · 4 comments
Closed

Does device api support exist in this repo? #573

JackAKirk opened this issue Sep 24, 2024 · 4 comments
Labels
question A request for more information or clarification

Comments

@JackAKirk
Copy link
Contributor

I can't see any implementations or tests for https://oneapi-spec.uxlfoundation.org/specifications/oneapi/latest/elements/onemkl/source/domains/rng/device_api/device-routines
A subset was questioned here: #476
and the response was that intels mkl supports device routines. But does the open source oneMKL support them at all for any backends?

Thanks

@JackAKirk JackAKirk added the question A request for more information or clarification label Sep 24, 2024
@aelizaro
Copy link
Contributor

Hi @JackAKirk, yes, RNG device APIs are available via oneMKL Interfaces. Here is an implementation: https://github.com/oneapi-src/oneMKL/tree/develop/include/oneapi/mkl/rng/device, it is header-based. To use rng device APIs you need to #include "oneapi/mkl/rng/device.hpp" directly.

The tests can be found here: https://github.com/oneapi-src/oneMKL/tree/develop/tests/unit_tests/rng/device

@JackAKirk
Copy link
Contributor Author

Hi @JackAKirk, yes, RNG device APIs are available via oneMKL Interfaces. Here is an implementation: https://github.com/oneapi-src/oneMKL/tree/develop/include/oneapi/mkl/rng/device, it is header-based. To use rng device APIs you need to #include "oneapi/mkl/rng/device.hpp" directly.

The tests can be found here: https://github.com/oneapi-src/oneMKL/tree/develop/tests/unit_tests/rng/device

Great! thanks very much.

Is there any docs on how to build these tests (in particular I'd like to build them on a cuda backend)?
I had a look but I don't see such docs, and these tests don't build by default unlike the host-api tests.
Thanks

@JackAKirk
Copy link
Contributor Author

Hi @JackAKirk, yes, RNG device APIs are available via oneMKL Interfaces. Here is an implementation: https://github.com/oneapi-src/oneMKL/tree/develop/include/oneapi/mkl/rng/device, it is header-based. To use rng device APIs you need to #include "oneapi/mkl/rng/device.hpp" directly.
The tests can be found here: https://github.com/oneapi-src/oneMKL/tree/develop/tests/unit_tests/rng/device

Great! thanks very much.

Is there any docs on how to build these tests (in particular I'd like to build them on a cuda backend)? I had a look but I don't see such docs, and these tests don't build by default unlike the host-api tests. Thanks

Hi @aelizaro

If you do have instructions on how to build those device tests that would be great. If not no worries, I'll work out the cmake. Thanks

@JackAKirk
Copy link
Contributor Author

Closing as I realized that these tests actually are ran already as part of existing test build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question A request for more information or clarification
Projects
None yet
Development

No branches or pull requests

2 participants