-
Notifications
You must be signed in to change notification settings - Fork 62
Disable debug implementation by default #9
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The debug implementation is not thread-safe, even if different threads are using separate iterators for reading elements of the container. BOOST_CB_DISABLE_DEBUG macro is no longer used, BOOST_CB_ENABLE_DEBUG=1 should be defined instead to enable debug support. Fixes https://svn.boost.org/trac/boost/ticket/6277.
keryell
added a commit
to triSYCL/triSYCL
that referenced
this pull request
Apr 30, 2016
…odern Boost The issue is described in https://svn.boost.org/trac/boost/ticket/6277 and fixed with boostorg/circular_buffer#9 Do not define MAKE_BOOST_CIRCULARBUFFER_THREAD_SAFE when using a modern version of Boost. TODO: Add automatic testing for Boost version when the fix is released.
|
Nice! I've tried your version in https://github.com/amd/triSYCL/commit/dd5adeb9d8954ebccf13b837e5a6d415752db490 and it works. So, for me, it looks ready to land. Thank you for your fix of this 4 year old bug! |
|
Ping! |
Contributor
|
I have no rights to merge this pull request :( Can someone do it? |
Member
|
Done. |
Contributor
|
Thanks. |
keryell
added a commit
to triSYCL/triSYCL
that referenced
this pull request
Oct 26, 2016
The list of commits since last publication:
commit 3758f2bd0a78709bb987e9d16de73dc785be9f1c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Oct 26 12:21:57 2016 +0100
Move documentation from AMD GitHub to Xilinx GitHub
commit ec31f37a403749ffcd835f7f44f4cfd58d9a09d6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Oct 26 12:21:03 2016 +0100
Simplify Khronos SYCL URL
commit 4bcb54de92f25b771ebdd20c52b4d427092292c0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Oct 26 11:49:55 2016 +0100
Move "Some other implementations" section earlier
commit e4b72fd40ca437ef3441c3eec1aad745f89819b9
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Oct 26 11:49:01 2016 +0100
Add a linkk to Codeplay & ComputeCpp
commit 94cb4e0870ffa50809c899e4245ac2faeeb5e767
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Oct 26 11:41:10 2016 +0100
triSYCL moved from AMD to Xilinx on GitHub
commit bcc0fdba473a0026e505a23117bb63d794859059
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Oct 20 13:07:48 2016 +0100
Test for more versions of FileCheck in LIT configuration
commit fcff87abc545fef0fa4f81fba83db983c61eecc3
Merge: fced026 f8bc693
Author: Ronan Keryell <ronan@keryell.fr>
Date: Sun Sep 4 23:17:24 2016 -0700
Merge pull request #3 from ahonorat/master
Jacobi examples without new/delete to manage accessors in kernel
This update fixes a bug when creating accessors inside a kernel with new and capture by address of the accessors.
Now all accessors in Jacobi examples are created on the stack by static list initialization and are captured by value.
commit f8bc69377346fa8cb218d36dc8073e0c83a3865e
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Sep 3 23:10:30 2016 +0200
R. Keryell tests/Makefile version
commit 0d710ef663a6f9d6f0aed868bc3bfd8601064cf0
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Sep 3 23:04:18 2016 +0200
Removing new/delete to constructs accessors in kernels
commit e2ecf4566abf1a42afb50352a927a68591956318
Merge: 31e7a26 fced026
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Fri Sep 2 19:48:48 2016 +0200
Merge remote-tracking branch 'upstream/master'
commit fced0263ca61558717e76d7132a4bbf4e8964f79
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Sep 2 17:48:22 2016 +0100
Fix a deadlock when the buffer waiter is waiting for a buffer destructor
When the buffer waiter destructor is waiting for the buffer destruction
and it is actually the only owner, there is nobody else to notify for
the completion...
commit 1d134fd30181e0a6adb9f0f30a797aba6084145d
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Sep 2 15:19:57 2016 +0100
Simplify demangling code in debug messages
commit 6da51725545b1c71f4fa8a66632604b8defab003
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Sep 2 15:02:46 2016 +0100
Use Boost.TypeIndex in debug mode to display demangled C++ type names
commit 6bc0465904144ecf79ebbc611da5477d7503074f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Sep 2 15:00:01 2016 +0100
Fix hexadecimal thread display in debug mode
commit 31e7a26541a868e78098295915dd3c24643cf9ec
Merge: 39fb220 57e745a
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Aug 27 23:03:30 2016 +0200
Merge with upstream
commit 39fb2200837e07e3a11884444230a186ef708472
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Aug 27 23:01:02 2016 +0200
Makefile with my own compiler path ... g++-5.4
commit 57e745a5e445f566421cf30588b3eb3515e8c756
Merge: 2a99a13 c4ef594
Author: Ronan Keryell <ronan@keryell.fr>
Date: Fri Aug 26 08:23:36 2016 -0700
Merge pull request #15 from keryell/opencl: OpenCL support through the OpenCL interoperability mode
The single source mode with an out-lining compiler is not implemented yet but at least OpenCL kernels can be run now with the OpenCL compatibility mode of SYCL.
The advantage compared to plain OpenCL is that the data movement between host and devices is managed automatically by the accessors.
commit c4ef59446b5d1f4b6c7c80e286bfa3a7464d07be
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Aug 26 16:00:19 2016 +0100
Update compiler versions
commit 8eb09cda50d21a47f1fe004b880019f4dee9909c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Aug 26 15:59:15 2016 +0100
Make the accessor to compile without OpenCL again
commit 6e338adce0ff7d4dc9694dc0208b4af2a45bcbec
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Aug 26 15:12:28 2016 +0100
Finish renaming some macros and identifiers in stencil examples
commit e36ab90e7ed92cbaa3cdf95c5a88fe8a8d9f60b0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Aug 23 18:18:04 2016 +0100
Rename some macros and identifiers in stencil examples to avoid OpenCL conflicts
CL_DEVICE_LOCAL_MEM_SIZE is an OpenCL identifier used in cl.h
by clGetDeviceInfo() and it was redefined by the application to
represent the memory to used as local memory.
As a defensive approach, add "J_" prefix (for "Jacobi") to all the
identifiers starting with "CL_".
commit 2588474153dc33bd9105558da072858447850b30
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Aug 22 20:17:04 2016 +0100
Add unit tests to check the behaviour of global buffer destructor
commit 3fb9badff348bb0b3022dd5b164f0253c0bd21e8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Aug 22 19:31:37 2016 +0100
Add enable_if magic to debug class to avoid breaking assignment synthesis
The current implementation was always declaring copy and move
constructors, preventing the synthesis of default assignments in some cases,
such as for buffer.
commit 92789e5f2714c7a53a60258823695e97e2316732
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Aug 12 12:26:55 2016 +0100
Update news in the README about OpenCL kernel interoperability mode
commit 7920fcdc91ec0677eac3dec2389f2bde162cb9e7
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Aug 12 12:13:31 2016 +0100
Add variadic set_args() to set all kernel arguments at once in OpenCL kernel interoperability mode
This is discussed in
https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15978
In the current SYCL specification, when using plain OpenCL kernels with the interoperability mode, it is only possible to set arguments one at a time with handler::set_arg().
This is verbose and cumbersome, whereas Khronos cl2.hpp and Boost.Compute provide ways to do this based on variadic templates.
So add a
template <typename... Ts> void set_args(Ts&&... args)
for this.
I think this should be also back-ported to SYCL 1.2.1.
Question for an OpenCL lawyer:
Should we verify that the number of arguments matches the kernel arity?
I have the feeling that we should not because we may imagine a kernel
with some trailing unused arguments and in that case it is useless to
set them.
commit 9e7e67e31a48aeb67beba37a2d87de1cd5d184bf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 19:00:13 2016 +0100
Remove debug messages
commit b74c7e327b6251778f0fab6eb85e2f2f2dcd85a4
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 18:49:55 2016 +0100
Clear explicitly prologue and epilogue hooks in task to remove a dead-lock
The functors hold shared_ptr to accessors holding shared_ptr to buffers.
Since buffer destructors are blocking, avoid keeping them alive for
nothing...
commit 223c7fae0972e39f9c1dd23c3a043f70ceabb3ff
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 17:12:50 2016 +0100
Simplify capture of task by value
commit 66b9f3c3febacb513415821eecfb4fe3cf53133a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 17:02:11 2016 +0100
Fix another "this" captured by reference instead of a member by value
commit 5f5da3bf5e32a5a3d2431d88d8b6d963745ce101
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 14:47:57 2016 +0100
Fix a bug around a nasty implicit this capture by address
Hard to find!
commit 291a22072966c0efdde0454d8a4cd25bd6e4500e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 13:03:20 2016 +0100
First implementation of set_arg() for OpenCL kernel
Still a memory issue in the task
commit 8262b1aa646e4fc86497dd4d7946fe0aff9302f8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 06:51:14 2016 +0100
Add is_read_access() to accessor
commit fbc02e4def4d6d41cf6e457ae44bae4dda8b76d0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Aug 10 06:46:27 2016 +0100
Add get_size() method to detail::buffer too
commit 62b2304ad6f0c922e573e902d486e1e950bfca1a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Aug 9 10:09:00 2016 +0100
Improve example to test accessors [][] in kernel context
commit 35e1e9ac93cabb814ac357f2402cc5de6c7cdd4a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Aug 9 09:24:55 2016 +0100
Use shared_ptr to simplify buffer accessor ownership
commit c5de16c15c3f7b901ed723d232b88972b81e49e9
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Aug 8 16:09:58 2016 +0100
Work around Clang bug 28873
Clang cannot use the destructor of a templated class as a friend
https://llvm.org/bugs/show_bug.cgi?id=28873
commit a7d4d008184ccda835b3a8fdf21885cbde056bcc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Aug 8 15:23:14 2016 +0100
Support to run prologue & epilogue to kernels
commit c8de722392be6e4ce38f4267d6c50937c1919651
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Aug 2 16:16:43 2016 +0100
Capture buffers in accessors with shared_ptr
This is a cleaner implementation without too early optimization.
commit dd5530314b9d369020033ac0151218cd7f56a124
Merge: 77657b5 2a99a13
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Jul 18 16:18:35 2016 +0100
Merge branch 'master' into opencl
Fix a few conflicts related to enum classes for access target and mode
commit 77657b5925479f78b56cce579031999644b94ec0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 15:27:16 2016 +0100
Add final wait for a kernel without any buffer use
commit 72dfc0a0d716743ac01b6ebc66d9d3ed372c263e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 15:19:19 2016 +0100
Fix argument order in OpenCL kernel call and add synchronization
commit a22513358ce5c21625865f193d436fa774fdbcdf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 13:59:36 2016 +0100
Capture pipe implementation with shared_ptr in accessors
When the queue had been changed to non blocking in the destructor and
the buffer destructor changed to non always blocking, the fact that the
pipe implementations were captured by simple reference blew away during
asynchronous execution because often the pipes were destroyed before the
usage...
Now the command group keep a reference on the pipe through the accessor.
commit 4a07558a14ea535de88ab7f7bee75737629ca65f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 13:47:57 2016 +0100
Fix struct/class inconsistencies
commit f39896b88cba02fda5c2038be727befd790042f3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 12:59:32 2016 +0100
Improve access specifiers in accessors
commit 6fb7de16b2ea36d15b8b926d7940ee40065e815b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 09:45:59 2016 +0100
Improve access specifiers in buffers
commit d9560dc7ba330ba04361c15b9823f65b8afa5a84
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 09:08:55 2016 +0100
Change static_pipe to use common shared-pointer based implementation framework
No longer use ad-hoc implementation.
Improve access specifiers.
commit e9ad436f4ca4e91b5e63bf15367f0e87fe3da020
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 13 08:53:10 2016 +0100
Change pipe to use common shared-pointer based implementation framework
No longer use ad-hoc implementation.
commit d01a9f01e3d60f0be2638e659d7cde7b8ad2981f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 12 17:49:57 2016 +0100
Replace struct by class in pipes and precise access specifiers
Do this before fixing issues in current pipe ownership.
commit 8df51ec4ec792a26c25c6738b326f886d23353fd
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 12 17:03:43 2016 +0100
Add forgotten "implementation->" in is_read_only()
commit 13e58f373af323852360e77d506498dc98f1e3fa
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 12 15:44:22 2016 +0100
Implement waiting for buffer destruction using optional future/promise
commit 8c482b2631f793c2cc96ee48ec78a1dfaefede43
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 12 13:58:46 2016 +0100
Add some lacking implementation indirections
commit ecf3e6874a1e29ddd08c7c0d7e3bb0d0c4d2eacc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 8 21:24:50 2016 +0100
Add an intermediate buffer_waiter to deal with blocking buffers
Still a WIP
commit b814f7bbc07cd20309a01740dbb610aed4a25d6e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 8 19:02:31 2016 +0100
Only wait for buffer write-back with a host pointer when non-const
commit 0b2e0dc5caacd19029722e9f98b708787db80def
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 8 19:01:09 2016 +0100
Add buffer constructor/destructor tracing tracing
commit b1dd91d8c01d816f8a6811ce8d3abac32c8f0744
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 8 16:28:56 2016 +0100
Reverse ownership of task and buffer_base
Since buffer constructors are blocking and not queue, it makes more
sense to have task owning the buffers they are using.
Use cleaner weak_ptr instead of raw pointers.
commit 72f1e9d347437dbb0ee6e17c2f0967a2a09a09da
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 8 15:26:16 2016 +0100
Make the buffer destructor blocking when required
commit 6a282e4178fc0b9c486f406d1cbee4565308f74f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jul 6 17:23:53 2016 +0100
Add forgotten shared pointer initialization in buffer
commit c593d51b104c8fda268a4475e02cdb882e4c9eb3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 5 16:38:14 2016 +0100
Add new OpenCL kernel tests
Rename a former one too.
Current state is still a WIP.
commit 504d86612047f2e39236cf7842602768f540ce8b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 5 16:36:09 2016 +0100
Replace blocking queue destructor by blocking buffer destructor
After discussion in committee, the queue destructor is not blocking,
only used buffers have blocking destructors waiting for their usage to
be released.
Discussed in https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15837
Also simplify the code by "using namespace cl::sycl".
commit f28de6658041b85c9a0fea9ec1f9cbd62a3ae60f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jul 5 13:52:13 2016 +0100
First implementation of OpenCL kernel compatibility mode
Still some regressions.
commit edeec8ecdd5df88966e2206153f7e71a5a4b0450
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jul 1 11:35:13 2016 +0100
Update object checking infrastructure and add kernel checks
commit e74780e058e27da41d1b68f43966a8ff4055f384
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Jun 30 12:38:15 2016 +0100
Implement construction of SYCL kernel from OpenCL kernel
commit 2a99a13bee351cd530a892f30536ded6253bacf3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 28 07:24:36 2016 +0100
Make access::mode and access::target enum class instead of enum
This was inconsistent with specification.
Now the enum member names are no longer injected into the enum outer
scope.
This fix bug https://cvs.khronos.org/bugzilla/show_bug.cgi?id=15913
commit 28d89fd6f9ba94d3c8f515ac69d0865d538ef615
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jun 10 11:37:41 2016 +0100
Fix coding style issue
commit 266db2bc70fb5fff96c8f2a36c78358e8c5b9dfe
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jun 10 11:37:04 2016 +0100
Implement basic features of OpenCL queue
commit 60314aaa446c645d1904fdc75b5b227d3403ff3b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 14:49:19 2016 +0100
Implement most of host queue methods
commit a19b6b83e2f43ae7cabcef3138152c228b21ab4b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 14:41:01 2016 +0100
Factorize out test on default device with associative containers
commit 593d44f2007b35b67164c47c849edacc28ecf6ed
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 14:21:15 2016 +0100
Factorize out the test of throwing get() on non OpenCL objects
commit cc3894a2fbe118737c0d7357d0d48d3497343493
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 13:08:00 2016 +0100
Add a separate host_queue in the queue hierarchy
commit 0798f702d469db7c3aa90c9a749e17c21aad3df1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 10:47:54 2016 +0100
Factorize out singleton management into a specific mix-in
commit 590ffcb0ea1bc154e85f8a1dfb10a588df1d66e4
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 09:12:26 2016 +0100
Factorize out queue with implementation framework
commit 9fbb1c1db8fc80a3a8f9731e364caf0fee637af1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jun 7 07:42:26 2016 +0100
Check platform in associative containers
Fix a wrong copy/paste.
commit 796136f765120e59102ce5d037183f1ddaa79397
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 25 20:44:43 2016 +0100
Implement SYCL exceptions
commit 6dfca6e86bc0371f8955fa5cbe5f93d90d0a6471
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 25 19:20:52 2016 +0100
Implement exception_list
commit e71497b8e9f5941b9430db6960364ab6bb702592
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 24 20:38:37 2016 +0100
Implement device constructor from device_selector
commit 45b5d99cf6fdfd5d0bddd0415c44982e742bdbaf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 24 11:06:54 2016 +0100
Add device_typename_selector and use to implement all the specific device_selector
To be added to the specification.
commit e9d7f331589a30ee33134393d900713bb07321d6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 24 10:46:36 2016 +0100
Simplify device::get_devices() for all device selection
commit b0a27de754a8f628c32d640f956deeebceab76d0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 24 09:59:28 2016 +0100
Add OpenCL device selector
To be added to the specification
commit 4eae8b80009527b7fddb69f2218c97dcc1623443
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 24 08:26:56 2016 +0100
Add a device_type_selector also used in device::get_devices()
commit 1ff519a9ac161843a026c33b4568e43c3cc22379
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 23 21:32:38 2016 +0100
Introduce new device::type() method to get the device_type
It is in Boost.Compute and is useful at least for the SYCL implementation.
To be added to the specification.
commit 80b165b78a11604f7022376df620199f34f31499
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 23 20:14:34 2016 +0100
Introduce a new platform::get_info<>(info::platform) method
commit eebd1e9ae41a92bb3aa26d9d4b58dc1435d8a7b5
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 23 19:09:54 2016 +0100
Implement OpenCL platform
commit 9d86a9afc029dcab29e0b70a5ed3cd32cfc8640a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 23 17:45:42 2016 +0100
Add associative container tests on default platform
commit a303b620fa2924700adf50aba9a479100a64d8e5
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 23 14:28:49 2016 +0100
Factorize out platform implementation
Use infrastructure for implementation as a shared_ptr.
Add detail and host platform as a virtual class.
commit f3f9ef7e2d62b6ae1e645e45aacfe6d592240bb5
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 16 21:54:29 2016 +0100
Factorize out opencl_device unit test
commit a2aa153ec8ef492ebcc27327fc2029f341f2704a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 16 21:39:07 2016 +0100
Generalize usage of detail::shared_ptr_implementation to device
commit 74100fdf533091f47060174d5465ddc73f267309
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 16 16:51:51 2016 +0100
Remove dependency on OpenCL in device
commit bed086e439ce8473b159569d4b9ef7eca5bff04b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 16 16:27:52 2016 +0100
Add OpenCL devices in device list and add device construction from cl_device_id
commit 6f67c515b577d36af6bf3ca9a36fd3f2464f3f15
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri May 13 15:53:21 2016 +0100
Add a cache mechanism to OpenCL device
commit 71117f130598818f3f4470582754f996fd866322
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri May 13 12:35:13 2016 +0100
Remove useless dynamic allocation
commit 2ae1028e813d2b4f758576fab79fa7403580dabf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri May 13 06:17:13 2016 +0100
First version of an OpenCL device
commit be303c9e80aa77e152afdf1d2ab9370a39d0397e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu May 12 15:50:55 2016 +0100
Buffer with mix-in for shared pointer implementation with associative container support
commit bfeb49d1fa56792d44912a9e0c00285a4f1088cf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 11 17:38:35 2016 +0100
Add host device in device list
commit b65c2e980c752ea8dd50979dc915312445db9236
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 11 16:34:19 2016 +0100
The host device throws an error when asked for its OpenCL device
commit 959001664ecded4f96be26502388282e1380f4b7
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 11 16:13:33 2016 +0100
Update to have compilation working with OpenCL environment
commit a0a21ed9a2eedd59d0dda311883ed9841f33f497
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 11 16:12:10 2016 +0100
Forward more environment variables to lit
Forward some variables typically used to setup OpenCL environment.
commit 60814d95045df53322a3b8ec28b580e120873cac
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 10 20:13:59 2016 +0100
Make the host device a singleton
commit e27ffdb19998a69120dd2ed64d5b9572a9a30b28
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 10 19:13:52 2016 +0100
Add a hashing specialization to device to be part of unordered containers
commit b50b61761fac82578b068c013ee813a57923a46b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 10 16:03:45 2016 +0100
Add the totally ordered concept to device so it can be used in associative containers
commit aac93d91cdab8c05be90ea9d67b058cf672338eb
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue May 10 14:46:03 2016 +0100
First version of host device based on dynamic polymorphism
commit 54d186c3dc3a2ae27cd3fb584a3eb180802daad1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon May 9 17:22:57 2016 +0100
Move device information types to their own file
commit 8400c1bfe7aba05f4fd2b2619556ab5abc48489c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed May 4 13:41:02 2016 +0100
Add Xilinx_blocking_pipes to host platform and set version as 2.2
Add also 2.2 info::platform::host_timer_resolution
commit dd5adeb9d8954ebccf13b837e5a6d415752db490
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Apr 30 09:02:38 2016 +0100
Make Boost.CircularBuffer work-around optional since it is fixed in modern Boost
The issue is described in https://svn.boost.org/trac/boost/ticket/6277 and
fixed with https://github.com/boostorg/circular_buffer/pull/9
Do not define MAKE_BOOST_CIRCULARBUFFER_THREAD_SAFE when using a modern
version of Boost.
TODO: Add automatic testing for Boost version when the fix is released.
commit 85e08ab92f6ffeb98cffc32d86878ebd3e642deb
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Apr 19 09:20:17 2016 +0100
Add news on SYCL 2.2 publication and pipes
commit 3afa57a8f38a7c6524da2604dac53203bb0a7ad1
Merge: 9b4158b 5095407
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Apr 19 09:09:07 2016 +0100
Merge branch 'ronan/pipes'
commit 9b4158be283b6e14bb2ba4985641bb97e274259b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Apr 19 08:59:30 2016 +0100
Pass shared pointer by copy to increment reference counter
commit 40034abac90babbd73f8bbc16a3ae10620bd4c0c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Apr 7 15:49:43 2016 +0100
Add links to presentations made at SG14 C++ committee
commit 0420ee007f021b69d26513dc290f6837e7089860
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Apr 1 10:42:52 2016 +0100
Add OpenMP and OpenACC to related projects
commit f19036b40238c64f4e336e5a6ae608afae3a7b99
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Apr 1 10:24:14 2016 +0100
Update related projects
commit 50954073ac8653c7ef55955a5199431bd7b21eb6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Mar 7 19:35:31 2016 +0000
Add an API to enable/disable pipe debug mode at run time
It does nothing by itself but the programmer is expected to add some
specific debug code in pipe, pipe_accessor, etc. code to do the real
debug work.
commit e2fef4741fd20b644298d30a6abe3861cf95f182
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Mar 7 19:31:39 2016 +0000
Verify that a pipe is accessed at most once for reading and writing
commit 199e7fb96e875dc30691a8fe04ae600fa42a2ac3
Merge: c007b07 c6d2314
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Mar 9 10:01:41 2016 +0000
Merge branch 'master' into ronan/pipes
commit c6d2314b4f10c6d8944cc44ccc725458f0ceede9
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Feb 29 17:11:09 2016 +0000
Add kernel start/finish tracking mode with TRISYCL_TRACE_KERNEL
commit c007b07a60b54cf77bb7f0dedeb3f18c642f144d
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Jan 30 15:23:19 2016 +0000
Replace std::enable_if_t by static assert in pipe_accessor for better error message
Rather than to have a cryptic message when using for example by error
a read operation on pipe with write access, output an explicit message.
commit 5dd7ad26c15c9d8721709cbc2ce84e57a1bb2e5d
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Feb 18 04:49:03 2016 +0000
Rename program_pipe to static_pipe
Also update some comments along the SYCL 2.2 proposal.
commit 7bc04b72ef0b1728b630f2092572fbe468c8a9b5
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Feb 18 03:27:44 2016 +0000
Move pipe_reservation iterators to the end since they are less important
commit 07aa8be6bc68d54497328fcb567b7355415c7663
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Feb 18 03:22:58 2016 +0000
Improve comments and const-ness to be in sync with SYCL 2.2 proposal
commit 7900b2740d7f08bacac32c6a893b0121474090da
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Feb 18 00:15:39 2016 +0000
Add STL types and iterator methods around pipe-related objects
This is mainly to make the SYCL 2.2 specification headers.
commit 21c52154f43f24de5b43a02a9550c3b2179830e8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Feb 16 00:54:51 2016 +0000
Fix typesetting of for loop
commit 7693549748ff37f7f51b66dca7d8cee120ec3192
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Feb 13 00:31:51 2016 +0000
Update the comments since in triSYCL the address space usage is more general as in plain SYCL
commit e6e85187d87d166c71f531dc5d219634b0fd7f7d
Merge: 4244709 e788a84
Author: Ronan Keryell <ronan@keryell.fr>
Date: Fri Feb 12 15:27:33 2016 -0800
Merge pull request #14 from benoitsteiner/master
Fix compilation warning
commit 4244709f6c5fab48217502242a5d7f144f68cc8a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Feb 12 19:10:10 2016 +0000
Add C++ committee and SG14 to related projects
commit c311f19697377d3275360abbfc52c1f677313f6b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Feb 12 18:51:25 2016 +0000
Add link to Khronos cl2.hpp in related projects
commit e788a8488347f871cbba01de947715a48533c61d
Author: Benoit Steiner <benoit.steiner.goog@gmail.com>
Date: Thu Feb 11 17:59:02 2016 -0800
Fixed compilation warning
commit fca6277b555a648d9dfbb23f01f5750242f78bc8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Feb 9 20:17:05 2016 +0000
Add PACXX in related projects
commit 69281129ce734fa149dfae4bee4861870dad09bf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jan 29 00:33:47 2016 +0000
Update README with latest status, related projects and presentations
commit 899ae92717022237395f00bf5563eb209899cdb2
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jan 26 19:28:40 2016 +0000
Fix Alex Bourd last name
commit fe3965c8fcdcbf2d456077c0f81ef4a8a7bd1a9b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jan 20 14:52:16 2016 +0000
Update & add examples for HiPEAC tutorial, WRC and AND REFORM workshop
Fix missing <numeric>.
Remove useless block.
commit 4b9faf45819f6ab7f161585f5b8505c724c19e11
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jan 20 14:43:19 2016 +0000
Update & add pipe examples for HiPEAC tutorial, WRC and AND REFORM workshop
commit dcfb16476b1012a8d2793c644012a9f6824c3a10
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sun Jan 17 21:28:46 2016 +0000
Improve comments for HiPEAC SYCL 2016 tutorial
commit 1e5585e39b8ca9557a917b06a33638e69027c4d4
Merge: 22dbbd1 38d315c
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Jan 12 11:21:41 2016 -0800
Merge pull request #12 from szellmann/master
Add accessor::get_size()
commit e94287def69a55a9a6817ccba7316e791be324ca
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Jan 12 19:17:51 2016 +0000
Make bool conversion from pipe_accessor explicit
commit 38d315cf78bea63336bfeb63c140eb9ba83bab9a
Author: Stefan Zellmann <info@szellmann.de>
Date: Tue Jan 12 11:36:56 2016 +0100
Add accessor::get_size()
commit 22dbbd1497a6d755418fc7cd12e83d4acb78c2ed
Merge: 6653605 b4ac7e9
Author: Ronan Keryell <ronan@keryell.fr>
Date: Sun Jan 10 09:45:57 2016 -0800
Merge pull request #10 from szellmann/master
Compile on MAC OS X with clang
commit b4ac7e93c4a9e9e18ddbba3f5386995db5236287
Author: Stefan Zellmann <info@szellmann.de>
Date: Sun Jan 10 18:05:23 2016 +0100
Compile on MAC OS X with clang
Cannot create constexpr initializer list from a temporary
commit 7d38bca022642e9d6f59ec14d0d6d98409277ca9
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sun Jan 10 14:59:49 2016 +0000
Rename detail::pipe_accessor file to suite the new class name
commit 7c19ad06b46743033eff0bd9b71f88c341e8bab5
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Jan 9 02:14:25 2016 +0000
Rename some pipe examples to describe better their content
commit 75b8c53a58152c2567b3eaa7663611e836541cf8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Jan 9 02:00:40 2016 +0000
Move the notification of the condition variable for reservation to the commit part
This fix a dead-lock due to the notify_all() at the wrong place.
commit 05192ede45efa33fb3d7a50bef4c8456343fb1f6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jan 8 23:48:12 2016 +0000
Implement read/write blocking reservations on pipe
commit 6653605d67b9dab2f57764ca534cf29aa0c0c57c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jan 8 19:31:02 2016 +0000
Use C++14 std::enable_if_t instead of longer C++11 std::enable_if
commit 7bb103ed4126cb0760000e6281468b5e1c55a5e3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Jan 8 19:28:21 2016 +0000
Enable simple read() method only for blocking pipes
commit a6f83c142defec3533bf79c6640c3e3846e1d9fa
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Jan 7 19:51:30 2016 +0000
Implement read & write methods of blocking pipe accessor
commit a93c5fada23824ebc5e8ef06d1169d677ddee6c3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Jan 7 14:00:05 2016 +0000
Implement program-scoped pipes
commit 611453544697bfbf2834c98aa3da4cdd72f85e23
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Jan 7 13:29:44 2016 +0000
Add a read/write reservation pipe test case.
Fix details in some other pipe tests.
commit d86ac37b95cd2eafa0deb7a37e107dc1699212e1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Jan 7 11:06:31 2016 +0000
By default a pipe_reservation is not reserved or committable at creation time
commit 816146a53100dcf61bd4e2bf7c82df9b2bce8892
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Jan 6 16:48:16 2016 +0000
Implement pipe read reservation
commit 548da3d495d921af5db3d22493d99c8dfcad9be2
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Jan 4 18:30:56 2016 +0000
Change pipe variable to lower case
commit ecf36112f2464402228f47c342594c1671cdd1a8
Merge: ae1e2cf 1cafdfb
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Jan 4 18:19:58 2016 +0000
Merge branch 'master' into ronan/pipes
commit 1cafdfbbeaa569c53f0f6dc3571896d19f228f10
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Dec 18 11:22:54 2015 +0000
Improve Doxygen module organization
commit 9d937eb9635d7329fed85652d250626aaadc134e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Dec 18 06:56:25 2015 +0000
Update detail::parallel_for_workitem to compile without OpenMP
commit ae1e2cf6b4ca102dcc5d09c2c5d2cec10a92eda6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Dec 18 06:29:47 2015 +0000
Fix a race condition in pipes related to Boost.CircularBuffer debug mode
The debug mode of boost/circular_buffer.hpp has a nasty side effect in
multithread applications using several iterators at the same time even
in read-only mode because the library tracks them for debugging
purpose in a... non-thread safe way.
Remove some "mutable" since now the circular buffer car really be
const without this debug mode.
commit 5b107bf4ebe55a0f8d69cd09572f6cffce2708cf
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 10 15:27:33 2015 +0000
Fix copy-paste typing error detail::pipe::size_with_lock()
Clean up some examples.
commit 59e141d4cd373249db4b2ca0e942969a03a8cf99
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 10 13:46:37 2015 +0000
Fix several issues in pipe reservation
Fix size computation.
Use move construction of reservation station and fix the move
constructor to avoid commiting in the destructor of the moved object.
Add mutable state for survive to lambda expressions.
Verify that the reservation is in a good state before using it.
Add debuging code.
Improve example to use work-group loops.
commit da323cae10d5dfeefcd7a0a3d3c43ff7cab70801
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Dec 7 17:18:01 2015 +0000
Add locks on user-level pipe observers
Otherwise some havoc may happen if another thread updates the pipe.
commit 77fcc8211e463f67b4e51242e808a6f12bf73b0a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Dec 7 17:16:59 2015 +0000
Add const to operator [] on pipe accessor so it can work in a lambda
commit ff276929f15c88fe1f770491375bc37293e6469b
Merge: 9332c79 12b6f49
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Dec 7 09:04:52 2015 +0000
Merge branch 'master' into ronan/pipes
commit 12b6f49b5be339627685698a9d5c0d1ab6d75257
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sun Dec 6 20:37:00 2015 +0000
Implement nd_range with global size not a multiple of work-group size
commit bc42abc89e0420d55f4044c1e81d6a90f4563fb1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sun Dec 6 20:16:24 2015 +0000
Add an explicit broadcasting constructor for ranges, offset, etc.
Can for example write range<3> { 11 } to construct { 11, 11, 11 }
commit 0d40c5afaa675ffb1e88cf4a7ec4862324f8382b
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 21:58:00 2015 +0000
Add a group::parallel_for_work_item() method for functors accepting item
commit 664011bc67cbb726ccab402602b07f31fae0431c
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 21:54:20 2015 +0000
Add nd_item::get_item() method
commit 64d9499f49b66feec03497157ca05d29bdcdf73f
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 19:31:10 2015 +0000
Remove spurious spaces and tabs
commit ad6b1cce16c71fd10aea09ba6aec3287afa06949
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 14:55:31 2015 +0000
Add parallel_for_work_item() as a method of cl::sycl::group
commit 9332c795336256dadfa06a6b633bd85c89487a23
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 11:45:18 2015 +0000
First running example of pipe reservation for writing
Fix a bug on difference of unsigned values.
Compute the reserved size instead of partially trying to track it.
commit a7153a3b1622ca730e3f7d5e1f4475e8e5f233c6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Dec 3 11:34:10 2015 +0000
Fix allocation bug around pipe_reservation
Really allocate the pipe_reservation with a new to be able to have it
through the shared pointer.
commit 6dac44ddd8dc0b5cf002d591e42651da307656aa
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Dec 2 18:42:10 2015 +0000
Compiling version of reservation for pipes
Break some cyclic dependencies on types.
Remove some accessor/detail::accessor confusion.
Remove accessor indirection and use detail::pipe directly.
Add -lpthread library in the case there is no OpenMP mode used with
asynchronous mode.
commit e3f3ee58073e671ac7b3f8fc46ec8ab9bbc098cd
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Nov 30 18:50:46 2015 +0000
Refactor pipe reservation using std::deque directly instead of std::queue
I needed to encapsulate the iterator in the pipe_reservation object.
Add comments.
Not compiling yet...
commit 11f5cc3794d62efc5b6d3def915c870be0dfa9d3
Merge: e1b06b7 0a9974a
Author: Ronan Keryell <ronan@keryell.fr>
Date: Mon Nov 30 00:38:51 2015 -0800
Merge pull request #9 from pkeir/master
cl::sycl::item and parallel_for without offset
commit f79be0921df810532e6ff3963491339e2505beee
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Nov 30 07:49:13 2015 +0000
First infrastructure for pipe reservation
Not yet compiling.
commit 0a9974aa6bb31d852d6e798f4c63a5620cf3b7c4
Author: Paul Keir <pkeir@outlook.com>
Date: Sat Nov 28 16:30:48 2015 +0000
reconstruct_item is needed only for a kernel indexed with an item.
commit 359a0920353875152070fc01a81506a5c6103a46
Author: Paul Keir <pkeir@outlook.com>
Date: Sat Nov 28 15:18:48 2015 +0000
Reworked parallel_for to support kernels indexed with either item or int types, using a proxy function to dispatch to one of two ternary parallel_for overloads based on the kernel index type.
commit 19fc466506700e4bf836537ee1fefdd4c2a5b26e
Author: Paul Keir <pkeir@outlook.com>
Date: Fri Nov 27 10:33:51 2015 +0000
2014 is used in the spec.
commit f2685b806435b9e9ddaee66546589b27bd77d28b
Author: Paul Keir <pkeir@outlook.com>
Date: Thu Nov 26 16:29:48 2015 +0000
Removed the use of item::get_linear_id in favour of item::operator[].
commit 4517cb79fbef095f706a4857ae3d731ccf3a3880
Author: Paul Keir <pkeir@outlook.com>
Date: Thu Nov 26 16:22:13 2015 +0000
Removed an unnecessary change.
commit ded28af495b4e95db0a24bc67bfff0f44e9056c0
Merge: 81aa69f e1b06b7
Author: Paul Keir <pkeir@outlook.com>
Date: Thu Nov 26 16:13:48 2015 +0000
Merge remote-tracking branch 'upstream/master'
commit 81aa69fff88afe7c57df1079006681a3ef342d81
Author: Paul Keir <pkeir@outlook.com>
Date: Thu Nov 26 16:09:20 2015 +0000
Just a silly commit to test that my user name is now propogated correctly.
commit 10377d3e898e90944a89ebfe8c7f1f0acaa6d651
Author: Paul Keir <paul.keir@uws.ac.uk>
Date: Thu Nov 26 15:42:46 2015 +0000
Modified the tests which use an int as the index, to use the item class.
commit 2e15c353701fadab610b670221be93a5edd4a1e5
Author: Paul Keir <paul.keir@uws.ac.uk>
Date: Thu Nov 26 12:07:58 2015 +0000
Modified the parallel_for overload for a range, to avoid a compilation error.
commit e1b06b70b199823749596403a95af9081e6a2fbc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 11:54:08 2015 +0000
Remove useless vector
commit cd1dd39979d3c3bec481527d84341e8ed8425842
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 11:50:28 2015 +0000
Add example with 4 kernels and 3 pipes to sum 2 buffers in a streaming way
commit 9fb04b4c3cd8057b6712e3736e2df73fcb429587
Merge: 2081922 83dcb62
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 11:27:56 2015 +0000
Merge branch 'master' into ronan/pipes
commit 83dcb62e02e0b46433cf7ab3db30906448cf84d6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 11:20:57 2015 +0000
Move accessor detail into buffer/detail
Because it is only related to buffer accessor.
This matches the organization of pipe accessor in futuristic branch.
commit 9e8ae6a014bc72cbcb017cd3a9520d385c1e18aa
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 11:13:55 2015 +0000
Add iterator support to buffer accessors
It would be nice to add them to the specification.
commit 51d178884601b017ccfb1a8f135942b51d75f59d
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 26 10:17:09 2015 +0000
Simplify constness management in buffer accessor relative to non-mutable lambda capture
Replace ugly const casts by a mutable member, as done in a futuristic
branch on pipe accessors.
commit bf95e276f7a8d16f8b482243118e1ca41f02c1d6
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 25 15:35:58 2015 +0000
Add a test case with kernels defined as independent classes (functors)
commit 2081922c4ad05e3ba042bcb29c49549e087cf2f3
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 24 19:10:29 2015 +0000
Add a missing synchronization to pipe_observers test case
commit f244214773166c18433cbe40ba283327a9c75e25
Merge: 6b03785 49f48bc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 24 19:01:30 2015 +0000
Merge branch 'master' into ronan/pipes
commit 49f48bc2d22b1f4989b45bb80ecd4acc84f40cdc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 24 18:57:03 2015 +0000
Implement queue::wait() method
I need it for my futuristic branch implementing pipes.
commit 6b0378571990eb61d7d05d4f57c8de99795044ac
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 24 13:28:28 2015 +0000
Implement observers for pipe on kernel side: full(), empty(), size(), capacity()
commit e0dcd94c71b38ea250499faffc62afc8bbc0b243
Merge: 0faf794 77c3db7
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 24 13:07:05 2015 +0000
Merge branch 'master' into ronan/pipes
commit 77c3db77fb9be0a7d2e8ee5d86af5598fb09ace1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Nov 23 20:29:32 2015 +0000
Experiment a * operator to access first element of a buffer accessor
commit 0faf794b84b35062f1f9952f018afe6025119da2
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Nov 14 22:14:47 2015 +0000
Add << and >> operators on pipe accessors
commit 710f04d65e6721ad5b584bbdd6c6accdb71d1fce
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Nov 14 22:11:53 2015 +0000
Improve read() and write() pipe access methods to return the accessor
Then the read() and write() method can be chained without repeating
the accessor.
Add a bool conversion operator to return the ok status of the last
operation, since now the read() and write() does not return it
any longer.
commit 2ce1262ca5c50bf0fa44080ca9bf4f648cb28637
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Nov 14 21:15:45 2015 +0000
Add a case with 2 separated queues
Use now only a pipe of size 2 in the simple pipe example.
Using a xr-value queue can be seen as a way to achieve a synchronous execution.
Fix a bug in the Makefile where the asynchronous mode was ignored.
commit d274881d4d97a781ac9dd3bce1f41e5f36cbc9d4
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Nov 13 02:48:53 2015 +0000
First prototype of SYCL pipe
Almost working: there is still some blocking in
pipe/pipe_producer_consumer.cpp when the pipe is smaller.
commit 59fa875849d8dffb7088e26bdc06308ce7b87cdd
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Sat Nov 14 00:59:48 2015 +0000
Remove useless header inclusion
commit 34703aa9950bff1724bf3431a1486a9bdc582ae0
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 12 23:17:08 2015 +0000
Bump into more modern compilers
On Ubuntu 15.10 & Clang++-3.7 the omp.h header is not found when using
OpenMP mode.
commit dc7f811da626147562dbbb3996996cd34fc6092d
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 12 22:56:52 2015 +0000
Add a script to help using git bisect
Actually I was looking at a problem that seems related to recent
Boost.Log 1.58-1.59 not working for me with gcc-4.9 on Ubuntu 15.10
and Debian/unstable.
commit 8557c9d2b0cf881e6f654e24effb409f1e5affd8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Nov 12 17:52:15 2015 +0000
Keep track of tasks using buffers with shared pointer
This makes sure that the task may not disappear in the mean time.
So now the validation is passing in both synchronous and asynchronous mode.
But I have just upgrading my machine to Ubuntu 15.10 and the debugging
mode with boost/log/trivial.hpp is crashing on some malloc().
commit cd7b1ad378aef7f94f66d608ec39a5196e219464
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 11 01:54:30 2015 +0000
Add new Jacobi examples in the non-regression testing infrastructure
commit 8e578958bf279f670a931f76b974889a9edacb2a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 11 01:45:58 2015 +0000
Fix 3 issues in a test example failing in asynchronous mode
Avoid 2 kernels in the same command group Use 2 submissions to the
queue instead.
Accessor needs to be captured by value and not by reference since the
original may no longer exist when executing in another thread.
Since the buffer is a global object, add an host accessor to access
its content.
commit 46ad590b8e9095c05f73eff0d68a2eda42a39afc
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 11 01:41:55 2015 +0000
Fix example to avoid 2 kernels in the same command group
Use 2 submissions to the queue instead.
commit 121f7249e0f2e6a2574bd522b17526acba5c4a7a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 11 01:32:58 2015 +0000
Correct some examples with array accesses in the wrong scope
The buffer associated to the array needs to go out-of-scope before
accessing to the array.
commit b10f8d72eb65b60a927ae4da92133e85e7d889f1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Wed Nov 11 01:23:44 2015 +0000
Improve task debug messages
commit d94c4d661e77b25cd15b894c783cc46391bc22a1
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 10 20:51:15 2015 +0000
Add tracking of all the buffer usages to avoid destroying a buffer in use
Simplify task producer logistic.
Parallel failure cases go down to 5 but there are now some deadlocks
in the sequential mode.
commit 5377b6e2ec3d8a1640f4a86479782f36c4807df2
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 10 16:00:27 2015 +0000
Add kernel tracking in the command group to wait for kernel completion
There are still 8 failures in the tests.
commit c62256cb5a73136f363e8404f13f9cb3ea59164e
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 10 15:37:58 2015 +0000
buffer::get_access(handler&) constructs a kernel accessor, not a host one
Add a handler parameter forgotten in a call to an accessor constructor.
commit 1ed7401b68a2f1f08ef80c02c36852df74c5bd5a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 10 03:00:50 2015 +0000
Add a new preprocessor flag TRISYCL_DEBUG_STRUCTORS for tracing constructors/destructors
It is easier not to trace them when just looking at multithreading messages.
commit 2117b4c30cddd80b35497d4ce8a8d302ba8d105a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 10 02:39:35 2015 +0000
Clean intermediate .o for tests with multiple compilation units
commit 559afa21de33ee9dbfc09af75b150dcf3c0f0035
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Nov 9 23:45:34 2015 +0000
In synchronous mode, executes also all the dependency verification code
Fix the deadlock on accessor/demo_parallel_matrix_add.cpp test.
So now all the dependency checking is done, even if the kernels are
executed in order.
The nice side effect is that it will lock waiting for some buffer that
will never be produced instead of having undefined behavior for some
applications that cannot be executed with kernels in order.
commit a93199cf1504af0d7c2db25f340b126f0c6654e8
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Mon Nov 9 22:21:04 2015 +0000
Major refactoring of asynchronous execution towards supporting latest 1.2 specification
The asynchronous execution mode was never completed with the command
groups as defined in the provisional specification.
This is a first attempt for supporting asynchronous execution with the
command group handlers as defined in the final 1.2 SYCL specification.
The tests in synchronous execution mode mostly pass for now, besides a
dead lock in accessor/demo_parallel_matrix_add.
There are still a lot of failures in asynchronous mode.
commit 8cf506aa31b9e44b96fbdd7b143df51de8061bca
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Nov 3 22:38:19 2015 +0000
Add accessor constructors with and without handler
Add some assert to verify target constraints.
commit 147eea67113b1aa260c02985b5df83a4e02c1b91
Merge: 4e41dab 4ca6cb1
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Nov 3 01:10:30 2015 +0000
Merge pull request #2 from ahonorat/master
Improving stencil DSEL in tests/jacobi
Specifying coefficients function in one of the jacobi examples.
Adding time printing for jacobi with tiling.
Generalizes improvements to normal version and fixed coefs one. Update README.
Improving templating of static args as access function
More generic version of stencil DSEL, new example with complex type
A more generic version of var stencils seems to be slower, the old one is used by default
commit 4ca6cb102df8ba3bf451b88441b5fb6791c59b6c
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Oct 31 21:20:25 2015 +0100
Specifying coefficients function in one of the jacobi examples.
commit d3e59ce96df1cca3172b13a210caa36e9457f385
Merge: f147c80 4e41dab
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sat Oct 31 21:07:59 2015 +0100
Merge remote-tracking branch 'upstream/master'
commit 4e41dab7a3710e4dd4ce4a49501f62e831f412b7
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Oct 30 01:03:27 2015 +0000
Add test for buffer size methods, add use_count method and fix bugs
Always add unit tests...
Refactor code from buffer.cpp into detail.
commit f147c801834a81cdf3833aa4b5edefa607fca651
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Thu Oct 29 22:25:51 2015 +0100
Addind time printing for jacobi with tiling
commit 8e2b9bbb8b1f823d138b045aca5910d8f15e51ef
Merge: 82bad38 9e03dcf
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Thu Oct 29 22:19:38 2015 +0100
Merge remote-tracking branch 'upstream/master'
commit 9e03dcfb0d112394122a61297552b782c881e1f2
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Oct 29 18:19:13 2015 +0000
Add a get_count() method to range
size() should get only the number of dimensions.
Still some work to unify naming with C++ committee work.
commit 82bad386bf55166fab25b88ca87183c56a828ea5
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sun Oct 25 18:39:06 2015 +0100
Generalizes improvments to normal version and fixed coefs one. Update README.
commit d889e501ecb2881c4b60a485b8d5a0f315e6e692
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sun Oct 25 17:45:53 2015 +0100
Improving templatig of static args as access function
commit 71397c780aa89fdccf1ee8e98decd9215f1ba042
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Oct 23 15:41:22 2015 +0100
Implement buffer creation from shared pointer
commit f370e18c5105a194901c4f577cb18c09b9749640
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Fri Oct 23 15:10:34 2015 +0100
Synchronize buffer comments with specification and cleaning
Add \todo on specification.
Remove useless code.
Improve asserts on get_access().
commit d035c13503b3adf6d34c526be18e45cbad732ecd
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Thu Oct 22 05:10:01 2015 +0100
Implement buffer creation from unique pointer
commit a4032a46961dfed185a95927203c3acc5e3a6946
Merge: 0b034c6 820a814
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Fri Oct 16 23:48:29 2015 +0200
Merge remote-tracking branch 'upstream/master'
commit 0b034c66cce02805700f401ed8b12f63a25bf4d2
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Fri Oct 16 23:46:59 2015 +0200
More generic version of stencil DSEL, new example with complex type
commit c87e585c33732d0226faa405f45e31d2b94abb6b
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Thu Oct 15 22:55:08 2015 +0200
A more generic version of var stencils seems to be slower, the old one is used by default
commit 820a814cfeafdc561bf9ddf8045664bd1779720a
Author: Ronan Keryell <ronan.keryell@xilinx.com>
Date: Tue Oct 13 16:53:56 2015 +0100
Implement buffer::set_final_data()
Make also a slight change to the API to a weak_ptr by value instead of
by reference.
commit cde8e5e61a7804db30cc914479afefafd454dd2c
Author: Ronan Keryell <rkeryell@xilinx.com>
Date: Mon Oct 12 19:31:14 2015 +0100
Update some test cases to pass in TRISYCL_DEBUG mode too
Accept some debug messages between values.
commit 0e0c280dd5a9d71e2b7f8a446daed5b16c1b926b
Author: Ronan Keryell <rkeryell@xilinx.com>
Date: Sat Oct 10 15:57:57 2015 +0100
Add initialization of pointer with address space from address of an element of the same type and address type
Fix a bug in the test case related to access through unitilialized pointer.
commit e4a4959c582dc3001c1af1c2ce88c5444aa29c23
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Sep 29 15:32:10 2015 +0200
Simplify parallel vector add example to fit better in a single slide
commit db95a20ab2acd8947605aeebcd690f862bad20d1
Merge: ded668b 1cf4668
Author: Ronan Keryell <ronan@keryell.fr>
Date: Mon Oct 12 18:59:22 2015 +0100
Merge pull request #1 from ahonorat/master
New stencil DSEL used by jacobi examples + new workitem OpenMP parallelisation paradigm
Modifications:
refactor jacobi examples;
change workitem parallelisation to OpenMP tasks (one per workitem).
New stuff:
enhance jacobi examples with a stencil Domain Specific Embedded Language (DSEL) based on triSYCL.
This DSEL is currently working on jacobi examples. It's a proof of concept to automatically translate stencils problems (as in Jacobi) to parallel code using only C++ features (mostly templates and auto keyword), so without developping a new compiler, neither modifying an existant one. The DSEL has been written at INRIA Bordeaux (french research institute), in the Storm team. The main goal is to hide parallelisation to the user.
commit 1cf46682f0dd0386d400d8dd7b627f4a16a5bf13
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sun Oct 11 17:01:43 2015 +0200
Adding a stencil DSEL based on triSYCL, and used by jacobi test examples
commit 3bcaea609c8ab9566faf39c013726e53ba375944
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sun Oct 11 16:58:45 2015 +0200
Refactor of jacobi test examples
commit ca5f200c1a4caa6e49a925faef94e37e4043927b
Author: Alexandre Honorat <alexandre.honorat@yahoo.fr>
Date: Sun Oct 11 16:54:52 2015 +0200
Change workitem parallelisation paradigm: now one OpenMP task is created for each workitem.
commit ded668b120cc1a0c504d469e064a39f1e24ceb77
Author: Ronan Keryell <ronan@keryell.fr>
Date: Fri Sep 25 13:19:05 2015 +0200
Reorganize host platform files
commit dd1d6a797cec3add5b0f7b8b90281d23af9d80ac
Author: Ronan Keryell <ronan@keryell.fr>
Date: Fri Sep 25 13:08:10 2015 +0200
Fix bugs when using SYCL platform with Boost.Compute OpenCL
commit 6db8e5087d19b45ed215eb164769d45548656ff1
Author: Ronan Keryell <ronan@keryell.fr>
Date: Fri Sep 25 12:08:21 2015 +0200
Add a minimal SYCL event class stub to be able to compile with OpenCL
commit be87a852ca0de3bebb30612b29173f28218e3480
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Sep 22 20:58:20 2015 +0200
Add inline to host platform info functions and improve test
commit b2a5915e1468959830e9c272802f0ce0d1b3a57f
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Sep 22 20:40:07 2015 +0200
Implement host and OpenCL platform
This is the first entrance of OpenCL into the project, based on Boost.Compute.
For now just test the host platform implementation.
commit 00c873d280945e8abd4bd8284b8604983163fe0f
Author: Ronan Keryell <ronan@keryell.fr>
Date: Tue Sep 22 16:46:01 2015 +0200
Update Boost.Compute URL
commit bf65c3754e2c331259295f499bc84ef590b55d71
Author: Ronan Keryell <ronan@keryell.fr>
Date: Wed Sep 9 16:04:42 2015 +0200
Update README
7 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The debug implementation is not thread-safe, even if different threads are using separate iterators for reading elements of the container. BOOST_CB_DISABLE_DEBUG macro is no longer used, BOOST_CB_ENABLE_DEBUG=1 should be defined instead to enable debug support.
Fixes https://svn.boost.org/trac/boost/ticket/6277.