-
Hello, Thank you for the excellent SYCL implementation! I have a question regarding the use of custom queues with standard parallel algorithms. Currently, these algorithms execute on their own queue, but I need them to run on a queue that I have created on a specific device chosen in runtime by the user. Is there a way to specify a custom queue for these standard parallel algorithms? Alternatively, is it be possible to access and use the implementation of these algorithms by other way, may be using the AdaptiveCpp sources? Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
If you need more control, what you can do is to access the lower-level
Note that at some point in the future the Currently I would strongly recommend using these algorithms exclusively with in-order queues. They are untested with out-of-order queues, and the signature of many algorithms currently lacks dependency events. So it is currently difficult to specify asynchronous dependencies. Note that when you use custom queues and submit to your own set of runtime-selected devices, you can no longer rely on the automatic C++ memory management interception from |
Beta Was this translation helpful? Give feedback.
-
Amazing, thanks! |
Beta Was this translation helpful? Give feedback.
If you need more control, what you can do is to access the lower-level
hipsycl::algorithms
library directly. These library functions mostly map 1:1 to the standard parallel algorithms, but their signature is slightly different:sycl::queue&
as first argumentsycl::event
Note that at some point in the future the
hipsycl::algorithms
namespace will be renamed toacpp::algorithms
or similar. So maybe it is a good idea for you to introduce an alias here so that you only need to change one place in your code ;)Currently I would strongly recommend using these algorithms e…