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

Separate usage of Acc inside and outside of kernels #966

Open
BenjaminW3 opened this issue Mar 27, 2020 · 7 comments
Open

Separate usage of Acc inside and outside of kernels #966

BenjaminW3 opened this issue Mar 27, 2020 · 7 comments

Comments

@BenjaminW3
Copy link
Member

  • Within a kernel it should probably be called context CtxGpuCuda& ctx so that it is easier for users to understand what it is
  • Outside of a kernel it represents a stack of interconnected classes representing a backend
@psychocoderHPC
Copy link
Member

I suggest a generic name e.g. DeviceCtx const & ctx

@sbastrakov
Copy link
Member

sbastrakov commented Mar 30, 2020

Do we need device as part of name in kernel? - All kernels are always on device.

@BenjaminW3
Copy link
Member Author

BenjaminW3 commented Mar 31, 2020

In the end it is about the variable name within the kernel because the type is already a template parameter. At the moment we have TAcc const & acc. I would simply replace it by TCtx const & ctx.

@ax3l
Copy link
Member

ax3l commented Mar 31, 2020

I would like to note that for any non-computer scientist, the term "context" is not self-explanatory. So please document it well and prominently, if you pick it.

@sbastrakov
Copy link
Member

sbastrakov commented Mar 31, 2020

@ax3l good point, but do you think accelerator is really more clear (not saying it's not, since I can't abstract from computer science background here)? A couple of weeks ago Rene, Jan, I and Michael struggled for some time in how to explain in words what does it mean exactly in terms of alpaka kernels, and it turned out we had at least 3 different opinions on that.

@ax3l
Copy link
Member

ax3l commented Apr 1, 2020

Maybe DeviceContext or KernelContext or BackendInfo can add more meaning. As an idea, you five could focus on the description of what it is first and document it, and then a new name for the current accelerator type/param will arise more naturally.

@psychocoderHPC
Copy link
Member

psychocoderHPC commented Apr 22, 2020

Since we use already the name work division we could also use WorkerCtx.

The definition we found on a discussion with @j-stephan, @sbastrakov , @bussmann was:

Abstraction of devices via a programming model. 
Maps your working division to the hardware cores via a given programming model, 
provides memory management and synchronization functionality depending
on that model and functions for computation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants