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

Move headers files into subdirectory #134

Open
keryell opened this issue Dec 14, 2022 · 4 comments
Open

Move headers files into subdirectory #134

keryell opened this issue Dec 14, 2022 · 4 comments
Labels
enhancement New feature or request

Comments

@keryell
Copy link
Contributor

keryell commented Dec 14, 2022

To avoid conflicts and make things clear, put the include files in some clean directory/directories.
So an end-user will write something like:

// C
#include "oneapi/unified_runtime/ur_api.h"
// C++20
import oneapi.unified_runtime;

To bikeshed, obviously.

@keryell
Copy link
Contributor Author

keryell commented Dec 14, 2022

But by looking at intel/llvm#7521 I realize I am quite lost in the cyberspace. What is the relation between this project and intel/llvm#7521 which has some directory hierarchy.

@pbalcer
Copy link
Contributor

pbalcer commented Dec 14, 2022

This repo contains the unified runtime spec and loader, whereas the work that you see happening in SYCL implementation is related to integrating UR with the existing Plugin Interface. For the time being, the intel/llvm repo will also contain (adapter) implementations to avoid duplicating code too much. That will likely change as UR matures.

@FranklandJack
Copy link
Contributor

Hey Ronan 👋

But by looking at intel/llvm#7521 I realize I am quite lost in the cyberspace. What is the relation between this project and intel/llvm#7521 which has some directory hierarchy.

So the aim of this project (Unified Runtime) is to provide a midlevel language runtime that can be implemented on a range native platform APIs (which we are calling adapters) e.g. CUDA, HIP, L0, OpenCL Vulkan etc. The initial goal is to replace the PI API in the DPC++ runtime (which is a bad fit for certain adapters) and then extend this work to other high level language runtimes such as OpenMP, the idea being that these high level language runtimes all go through UR.

I believe the PR you linked is the start of a PI plugin implementation layered on top of the Unified Runtime API.

@kbenzie kbenzie added the enhancement New feature or request label Dec 14, 2022
@keryell
Copy link
Contributor Author

keryell commented Dec 14, 2022

Thanks for clarifying my confusion.
New bikeshed iteration:

// C
#include "oneapi/ur/api.h"
// C++
#include "oneapi/ur/api.hpp"
// C++20 module
import oneapi.ur.api;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants