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

Implementing Execution Device Policy #12

Open
coder3101 opened this issue May 27, 2019 · 0 comments
Open

Implementing Execution Device Policy #12

coder3101 opened this issue May 27, 2019 · 0 comments
Assignees
Labels
coding Implementing the feature
Milestone

Comments

@coder3101
Copy link
Collaborator

A Computer comes with a lot of Devices that can be used for the evaluation of the expression. Our library should be able to take use of all those available devices efficiently. The Execution Device Policy feature specifies the device to be used during the evaluation of the expression. Some Devices that we have taken into consideration are as follow :

  • Sequencial Device
  • ThreadPool Device
  • GPU Device

We are thinking to use boost::compute for the task as it provides efficeint and fast way to run computation on various devices and it is fast at the same time. I will be implementing the expression templates using YAP that will be aware of the device to choose for evaluation. The Idea is as follow, Once implemented we should be able to write :

auto expr = A*B+C;
Tensor result = expr.via(Device::ThreadPool{4}); // Evaluate using 4 threads
Tensor res {expr.via(Device::GPU{ /*Args*/ ...})}; // Evaluate on GPU using OPENCL
@coder3101 coder3101 added the coding Implementing the feature label May 27, 2019
@coder3101 coder3101 added this to the Phase 3 milestone May 27, 2019
@coder3101 coder3101 self-assigned this May 27, 2019
@coder3101 coder3101 added the delayed The work has been delayed due to some Issue label Aug 9, 2019
@coder3101 coder3101 modified the milestones: Phase 3, Post GSOC 19 Aug 18, 2019
@coder3101 coder3101 removed the delayed The work has been delayed due to some Issue label Aug 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
coding Implementing the feature
Projects
None yet
Development

No branches or pull requests

2 participants