- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The following code is in a "consumer kernel":
//reserve pipe for reading reserve_id_t rid = work_group_reserve_read_pipe(rng_pipe, szgr); if(is_valid_reserve_id(rid)) { //read random number from the pipe. read_pipe(rng_pipe,rid,lid, &rn); work_group_commit_read_pipe(rng_pipe, rid); }
Is it possible that read_pipe will be blocked till it gets a vector of data written from a producer kernel ?
Regards,
Z.V
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Zvi,
We don't have concurrent kernels in the production driver, so producer kernel has to finish first and then consumer kernel will start. As you can imagine, this is not terribly useful, that's why I don't recommend currently to use pipes. But, to answer your question, in our current implementation of the driver it cannot happen for the above reason.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page