-
Notifications
You must be signed in to change notification settings - Fork 98
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
Use hidden friend comparison operators instead of member functions #308
Merged
Conversation
This file contains 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
Follow WG21 P1601R0 "Recommendations for Specifying “Hidden Friends”" from Walter E. Brown & Daniel Sunderland. This removes compilation warnings like: .../triSYCL/include/triSYCL/device_selector/detail/device_selector_tail.hpp:98:18: warning: ISO C++20 considers use of overloaded operator '==' (with operand types 'const trisycl::device' and 'const trisycl::device') to be ambiguous despite there being a unique best viable function [-Wambiguous-reversed-operator] return dev == default_device ? 1 : -1;
keryell
added a commit
that referenced
this pull request
Jun 9, 2023
The list of commits since last publication: commit b596193247df3d630231ae612d07aaf93c1bdb07 Merge: 4b78ce24 949ddbda Author: Ronan Keryell <Ronan.Keryell@amd.com> Date: Wed May 24 15:52:28 2023 -0700 Merge pull request #325 from keryell/github-actions-checkout-v3 GitHub actions moved to actions/checkout@v3 Update to latest https://github.com/actions/checkout to remove these warnings: ``` Annotations 5 warnings CMake with default option on the default GitHub Ubuntu Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. ``` commit 949ddbda9d89b3e3ca405e719bd655fd6b751d2b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue May 23 11:24:25 2023 -0700 GitHub actions moved to actions/checkout@v3 https://github.com/actions/checkout commit 4b78ce24260e627d36c106aa5da2def559bd180c Merge: fb7ab21f 555a5c1d Author: Ronan Keryell <Ronan.Keryell@amd.com> Date: Mon May 22 14:02:41 2023 -0700 Merge pull request #321 from keryell/marray Implement sycl::marray This is just an alias for sycl::vec internally for now. Add aliases for marray of size 1 too, like sycl::mdouble1. commit 555a5c1d9dcfa7a19fdc274e9971c8b2535deb15 Merge: bfe9e5e6 fb7ab21f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon May 22 13:37:15 2023 -0700 Merge branch 'master' into marray commit fb7ab21f3554590f055cc1d9fc56ee3b3ce02af6 Merge: 62a1d9bc 3843410d Author: Ronan Keryell <Ronan.Keryell@amd.com> Date: Fri May 12 14:28:37 2023 -0700 Merge pull request #324 from keryell/ci-ubuntu-23.04 Use Ubuntu 23.04, Clang 17 ToT and update for latest mdspan. Clang 15 crashes on the code, so use a distribution providing a more modern version. Actually the bug was only fixed recently with https://reviews.llvm.org/D149637 and https://reviews.llvm.org/D150008. Also update `mdspan` namespace to remove `experimental::` now it landed in C++23. commit 3843410d6ebf9aa6b9626703868da6d5f7443622 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 11 16:11:39 2023 -0700 Do not use LLVM install script It was not suitable for the use case. Instead, just set up the authentication key and fetch the packages as usual. commit d6313ad35659d1fadda501c14ad20fe210c1c91e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 11 14:51:11 2023 -0700 Install tools used by the LLVM repository set-up script commit 191d98186b4bedd7d84e248255a812a2fdbac9c4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 11 10:38:58 2023 -0700 Add latest Clang/LLVM repository when clang or clang++ is required This is required to use the latest C++23 features. commit ab0bcff63ec2b90ff384c7b15849b49a7796374c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 11 10:30:04 2023 -0700 Use directly std::mdspan without experimental:: now it is in C++23 commit 5073e75634d6f8cb51b868dc693e891308e58438 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 10 16:57:31 2023 -0700 Install latest Clang to avoid crashing on C++23 operator[](pack...) See https://reviews.llvm.org/D149637 and https://reviews.llvm.org/D150008 commit 69cf39e312427f5498cf74261f81edc91aa7e491 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Apr 28 06:01:55 2023 -0700 Use Ubuntu 23.04 and Clang 16 Clang 15 crashes on the code, so use a distribution providing a more modern version. commit 62a1d9bc4dfac266e7d3e15b46ecedf05a3f853f Merge: a80d6946 17dcc334 Author: Ronan Keryell <Ronan.Keryell@amd.com> Date: Sun Feb 12 14:35:47 2023 -0800 Merge pull request #322 from keryell/ci-ubuntu-22.10 Move CI to Ubuntu 22.10 commit 17dcc33420827efaae51bd0204425a7aecb5878f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sun Feb 12 14:01:48 2023 -0800 Move to Clang 15 commit 8ff382f0eb8fd9ebdb8698b53c53cd76819227a1 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Dec 22 09:28:15 2022 -0800 Move CI to Ubuntu 22.10 commit bfe9e5e6e90c96727435bec946f4fbe26795af18 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 22 18:02:04 2022 -0800 Add aliases for marray of size 1 too This is not currently in the SYCL 2020 specification but it looks like it might be useful. https://github.com/KhronosGroup/SYCL-Docs/issues/319 commit 3042ffa368bd8e0911f827812c22a7d043277bda Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 22 17:22:06 2022 -0800 Add marray alias types like mdouble2 commit a004996294522e800758bdbb8ed518ec4aa9908e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 22 16:58:46 2022 -0800 Make a trivial sycl::marray as an alias for sycl::vec This is good enough for a CPU implementation for now. commit a80d6946983a602122cb5e2320f6c6b5da15639b Merge: 072d85f0 cdeeeb97 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Aug 22 23:32:07 2022 -0700 Merge pull request #320 from keryell/c++23-mdspan-example Add C++23 mdspan-like indexing and tuple protocol on accessors Now it is possible to write code like: int main() { { sycl::queue q; sycl::buffer<int, 4> a { { 2, 3, 5, 7 } }; q.submit([&](sycl::handler& cgh) { sycl::accessor acc { a, cgh }; cgh.parallel_for(a.get_range(), [=](sycl::id<4> i) { auto [x, y, z, t] = i; acc[x, y, z, t] = x + y + z + t; }); }); VERIFY_BUFFER_VALUE(a, [](sycl::id<4> i) { return i[0] + i[1] + i[2] + i[3]; }); return 0; } } commit cdeeeb979db8d0cf1180384b64667933add9d434 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Aug 22 11:55:22 2022 -0700 Implement C++23 [i1, i2,...] indexing syntax on accessors commit 675a32996f0361c74257a7bbafd9510720e02ff0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Aug 22 08:34:36 2022 -0700 Generalize conceptually the tuple protocol to small_array heirs This way sycl::id & sycl::range benefit directly from a tuple-like interface. commit 21b364ec629b190e64d6c1544e9383889bfc3f3c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Aug 19 19:32:56 2022 -0700 Add tuple-like protocol to sycl::id commit a89646a8a8e21500a6f9606a57e277fd670374a5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Aug 19 16:26:49 2022 -0700 Generalize test-helpers.hpp to work with other SYCL namespaces Not only cl::sycl but also sycl or trisycl for example." commit 106e53dbf9179923ee5af26a38c771e7feb44b2e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Aug 19 16:13:02 2022 -0700 Add TRISYCL_SYCL_NAMESPACE macro stating the namespace Since the implementation can define different namespace where SYCL is defined (sycl, cl::sycl, trisycl), provides a macro indicating which one is being expected to be used. commit 064aab84930738d09b892a3a7061354b4549fd8d Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Aug 19 16:08:39 2022 -0700 Remove old pre-C++23 mdspan indexing syntax The problem is that the mdspan CMake config assume C++23 if the compiler can do it and do not look at the version used by the end-user. So, switch to C++23 to simplify the configuration. commit acd24b6767b6d12e7771a544fc95d2a885d2e8e3 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Aug 17 13:59:29 2022 -0700 Remove warning about unused variables with NDEBUG and assert() commit 219a563050d2cd6998aa50bd65321d423378b3fe Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Aug 17 13:30:30 2022 -0700 Move to C++23 commit 68ecac5eac9bdb4dc415c63721d669799e8bdedc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Aug 18 19:04:03 2022 -0700 Update accessor mixin and façade to C++23 mdspan[i1, i2,...] syntax Fall back on previous mdspan(i1, i2,...) syntax with pre- C++23 compilers. commit 072d85f09ba831d6e84b2800568a3a2e675cfc0c Merge: 95d74eec 7169cfd5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 26 16:44:53 2022 -0700 Merge pull request #319 from keryell/clang-14_gcc-12 Update CI Clang and G++ to the latest versions on Ubuntu 22.04 commit 7169cfd5f94bc435dd4085b0c901d3fc685264f8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 26 13:53:14 2022 -0700 Try again OpenMP+PoCL with Clang-14 commit b6504f408cfad9783d19218685445099252fef09 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 26 12:11:13 2022 -0700 Update CI Clang and G++ to the latest versions on Ubuntu 22.04 commit 95d74eecf91f217e88412766960d514640e348b7 Merge: eceb0876 150b4d26 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 26 12:08:31 2022 -0700 Merge pull request #318 from keryell/fix_genericity_opencl Avoid derailing the sycl::kernel into the generic parallel_for commit 150b4d265edbfe60cd6ca1b8d6dbb70c1c481e4d Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 25 17:52:26 2022 -0700 Conceptualize handler::parallel_for with sycl::kernel for simplicity commit 4358c08e72750ff95b485938f9a48ab1e873c025 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 25 17:10:56 2022 -0700 Remove spurious \ commit 7910831a174c9bc8ac6f49e35c532847dacb202e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 25 17:08:10 2022 -0700 Do not use a macro for handler::parallel_for with sycl::kernel commit c3b0acaee57feedab14faa80425c1d201f3079e8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 25 16:44:11 2022 -0700 Avoid derailing the sycl::kernel into the generic parallel_for After generalizing the code for any dimension, some default paths were wrongly used when using sycl::kernel instead of kernel callable. commit eceb08760280ada8a9fa78bba0d109fb077437c5 Merge: d147e860 9887d620 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 26 11:42:54 2022 -0700 Merge pull request #316 from keryell/ci-ubuntu-22.04 Update GitHub action CI to latest Ubuntu 22.04 commit d147e860eec3c1b7d9bdfa51608137173d4f7183 Merge: c2ba7adb e6519794 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 25 14:26:32 2022 -0700 Merge pull request #317 from keryell/mdspan-P0009R17 Update to mdspan P0009r17 proposing now dextents commit e651979407d20b0edd8f0cde40aa9009fa6dfcc6 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 18 09:00:02 2022 -0700 mdspan implementation has renamed pointer and data() Use data_handle_type and data_handle() instead. commit fa1aaf4640672fbada84e294f963ab70f062e79f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jul 18 08:52:41 2022 -0700 Update new mdspan API style proposing now dextents Follow latest mdspan implementing https://isocpp.org/files/papers/P2299R3.html commit 9887d6208a7f9fcfa19423f4ba6ea6e90339d450 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 15 11:59:02 2022 -0700 Update GitHub action CI to latest Ubuntu 22.04 commit c2ba7adb4a3be4983a389ced490ad023c6e3543c Merge: 4f30cc05 ac246746 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 15 11:53:00 2022 -0700 Merge pull request #315 from keryell/include-triSYCL-only Add an include directory with only triSYCL in it to avoid conflicts commit ac2467463001a49fbfbfae5fb9409ea9fdb93293 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 8 19:01:05 2022 -0700 Add an include directory with only triSYCL in it to avoid conflicts When combining some triSYCL extensions on top of other implementations, we do not want that, according to how the include directories are ordered, some triSYCL sycl/sycl.hpp or CL/sycl.hpp are picked instead of the one from the other implementations. commit 4f30cc0586d820784d06dbdb1a79c61899f911b9 Merge: 2fdc75a3 c24ffe1f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 3 20:53:15 2022 -0700 Merge pull request #314 from keryell/buffer-accessor-2020 Add new buffer accessor features for SYCL 2020 & Next commit c24ffe1f231bff05f9b7eeeefff816140a6f99d0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 3 20:28:38 2022 -0700 Conversion operator to scalar BasicType when only 1 dimension commit a1356705bd48daac408c5567fb6cb437e2182bd8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Apr 15 18:02:23 2022 -0700 Fix buffer Range constructor to avoid hijacking the sycl::range In SYCL, a sycl::range is also a C++ range, which is somehow confusing when generalizing the API. commit f63e3b3a1f71fa121821b3db43b8d986a00c5fe6 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Apr 15 15:23:47 2022 -0700 Remove useless variable commit 593b17872e662a6486144af9a91bcc0deacce3ef Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Apr 15 15:23:08 2022 -0700 Refine the concept to select buffer constructor from a range commit 1670b256b4bca9d26dd3096ed8a0bca94f327ab5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Apr 9 09:16:02 2022 -0700 Deduction guide to infer the buffer type from the read-write range commit c6ab4ea172d4fd5b4054b00fb97628189ed53611 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Apr 9 08:54:48 2022 -0700 Add buffer constructor from a range with copy-back on destruction commit 4f0807c04783ccd0dd11a8731db450a15c94baa4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Apr 9 08:54:17 2022 -0700 Remove spurious copy-paste commit 642057a9551cf0ab02cf83395a9030696ed014d3 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Apr 7 17:59:34 2022 -0700 Add 1-D buffer deduction guide for a forward iterator pair commit 06a9cf39403c66c65a4ddea4423e44085735d6c8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Apr 7 17:59:02 2022 -0700 Add accessor introspection on access mode and target commit 6783fcc28a14d8dbf992bfec55bb5240c213bb11 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Apr 7 17:57:56 2022 -0700 Add new SYCL 2020 accessor constructor inferring read/write mode commit 2fdc75a363d02b1c78b6c1184c620d707c466719 Merge: c7221247 5590487f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Apr 8 03:04:34 2022 +0200 Merge pull request #313 from keryell/allow-any-dimension Allow any dimension on SYCL objects. This experiments about some ideas for SYCL Next. commit 5590487fc3b3a4b1fbb6a4c0f1d62515108c14c0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Feb 28 16:38:18 2022 -0800 Fix constructor ambiguity when compiling with g++-11 While it was compiling clang++, it looks like it was ambiguous. Add some requires expressions to select the right constructors. commit 75c764cf2f48718de835c5902fdd017496945f55 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 17:37:53 2022 -0800 Remove explicit instantiating of parallel_for with offset Offsets are deprecated nowadays anyway, so no need to simplify their use. commit 2713dd421dcbc4daf9792a856ca0493411d77a09 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 16:32:32 2022 -0800 Factorize out range overloads for parallel_for commit 46f769e651b08fbc1cf487ffa51d02d1ba44f143 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 16:31:07 2022 -0800 Introduce detail::use_native_work_item constexpr variable This controls whether native work-item are used or not, emulated on single-task. commit 8fdc03084fd05569e2a01236da543966823daef5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 15:06:16 2022 -0800 Remove test of non standard feature No longer implemented with higher dimension implementation. commit a5d737f621e340a1e595fcbe2bb6cf25963a0a42 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 15:04:59 2022 -0800 Remove remaining make_range commit e2ae9bac87cacbc594b156ba58a16b65cb8c3aab Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 24 15:02:20 2022 -0800 Add explicit overload for parallel_for with a std:size_t as a range commit a5bd16fbcca82a396b6d3a49d3646c0fd5d97cb4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 21 15:29:02 2022 -0800 Generalize parallel_for(range, ...) to any rank commit 8d9c1cdb2e784030dcc4661889f483cf4374fced Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 21 15:23:46 2022 -0800 Generalize mdspan extent construction from small_vector commit def1f8432bba8d6e65317046af5014a79014be63 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 21 15:16:53 2022 -0800 Fix wrong concept constraint commit 44aadbd4bb55c75bad305fe0dc34a3957ee9a9c2 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jan 20 13:07:42 2022 -0800 Generalize sycl::range with with deduction guide make_range is no longer required. commit 72473073d2654be3be768f681f51be02efe708a8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 16:40:55 2022 +0100 Update detail::small_array test to latest development commit c0746c616e6cfc854e766d73c205b9913ba94e68 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 16:30:22 2022 +0100 Remove make_id() since id has CTAD now commit 346a4ef1ec589c15dbf1839d542cdb9a629d468a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 15:53:07 2022 +0100 Remove specific specializations for small_array_sycl Now the code is just generic and there is no need to care about special ranks of 1, 2 and 3. commit 06d84a015a3bf1ffe1e7f23c00040bae14b3a049 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 15:42:18 2022 +0100 Add deduction guide for sycl::id to guess the rank from arguments commit a37a4eccb600e8e38d094eff856743899bb219a1 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 14:26:50 2022 +0100 Update small_array_sycl to support any number of dimensions Provide test case with id, item, nd_item and range. commit 6f6190012f2e6b1872654a64605fbe597628fcdd Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 13:58:43 2022 +0100 Remove unused feature and template parameter commit d90da8da52fb59d307b355ccc926fd80d956c6f0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 13:55:36 2022 +0100 Modernize with C++17 type_trait variables commit ec3efd1a68fe0216748d0a3d94c9c9ec6c21504b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 13:50:06 2022 +0100 Use C++20 for cool features like concepts commit 80f07f5430a7eae38d23c70ab3c567efd52b5788 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 13:34:08 2022 +0100 Add new metaprogramming utilities Start with assignment from elements in a tuple. commit 1e834731158dbf06fb973ac3804a86267ee77711 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 15:44:29 2022 +0100 Relax the 3 dimension limit when detail::allow_any_dimension is true commit f2ac9a117287b254bd2e8a63296ff10c94e55a81 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 14:57:54 2022 +0100 Rename small_array_123 to prepare higher dimension extension commit 6e7c88a2db3475f27ba23a0247cf68ac25f5e497 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 14:25:14 2022 +0100 If TRISYCL_ALLOW_ANY_DIMENSION is defined, allow SYCL dimensions > 3 This is a SYCL extension allowing higher ranks. Internally this defines constexpr bool allow_any_dimension accordingly. commit c72212475103c3c90e75bf0f65b7afa40272f521 Merge: 553130b4 091c95ce Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 12 13:37:12 2022 +0100 Merge pull request #312 from keryell/boost-test-to-catch2 Update remaining tests using Boost.Tests to Catch2 commit 091c95ce58d4992456f97ef745e5210e86071cd4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 18:38:02 2022 +0100 Do not run obsolete test commit 1449da1a515cddcd585fc796a0ec7a471c02808f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 12:38:07 2022 +0100 Add lacking test and fix Xilinx extension namespace commit 15792607ec4c6a34f0e99127aa825c3ebd9f90fc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 7 12:19:16 2022 +0100 Update remaining tests using Boost.Tests to Catch2 commit 553130b4dda387b98432647c37161044d2a8c460 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Dec 13 18:34:56 2021 -0800 Clean up useless spaces in .clang-format I need a clang-format to clean the .clang-format itself. Kind of paradoxical. commit d861630949936742c906af7fb7c1213a67d8d323 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Dec 6 11:51:11 2021 -0800 Add missing top-level .clang-format It was forgotten in my directory since 2021/04/047. :-( commit 5213c25692cef851cfee1c5a709840bbd35e6fff Merge: 32f22fc4 9f0297b6 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 17:17:37 2021 -0800 Merge pull request #311 from keryell/ci-ubuntu-21.10 Update GitHub Action CI to use latest Ubuntu 21.10 and documentation. Modernize and fix a few details to have the CI working again. commit 9f0297b6bf2fef20f098f362b7794a0a45d78724 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 16:07:48 2021 -0800 Modernize documentation to fit Ubuntu 21.10 and C++20 commit 6a1077ebe82f3acd8423b00a2b8be41681788df0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 16:05:17 2021 -0800 Remove default GitHub Action build It is too slow and got killed before finishing. Just keep the 2 core Docker configuration which is fast enough. commit 948a9cacb6584e8e854cf7ccebf6d41d5b5c8fa4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 13:09:43 2021 -0800 Install also the OpenMP library associated to Clang++ commit eff74d6392b1588572d631b21ac0cd853c572d13 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 12:14:48 2021 -0800 Use the latest version of Catch2 to compile with Ubuntu 21.10 There was an issue with the libc used in Ubuntu 21.10: src/catch2/internal/catch_fatal_condition_handler.cpp:94:58: error: call to non-'constexpr' function 'long int sysconf(int)' 94 | static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; | ^~~~~~~~~~~ src/catch2/internal/catch_fatal_condition_handler.cpp:150:45: error: size of array 'altStackMem' is not an integral constant-expression 150 | char FatalConditionHandler::altStackMem[sigStackSize] = {}; | ^~~~~~~~~~~~ commit 05cadc540d2428dad3cfefc43c66121fdfcc8944 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 11:17:39 2021 -0800 Run GitHub Action CI also on PR and branch & tag push commit 3b34e65bdb4decd924550ec453c4708cf38be323 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 10:54:53 2021 -0800 Update GitHub Action CI to use latest Ubuntu 21.10 Docker image Update Clang//LLVM to version 13. Remove tests with old G++ 7. commit 32f22fc4daef320aa2a04dc2a087bf88dc969292 Merge: dd8977af 8e612c82 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 10:46:24 2021 -0800 Merge pull request #310 from keryell/boost-fiber-mutable-lambda Allow mutable lambdas in the Boost.Fiber-based executor commit 8e612c823a859d3d35b78f1f43723f72c194238f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Nov 23 10:13:21 2021 -0800 Allow mutable lambdas in the Boost.Fiber-based executor commit dd8977af58bfd975c06f3c67de4cc9ffc7571681 Merge: cab4ed5c 94eadd7c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Oct 14 13:34:02 2021 -0700 Merge pull request #309 from keryell/remove-some-warnings - Remove some OpenMP vectorizer warning messages Remove the warning messages from the (OpenMP) vectorizer in include/triSYCL/parallelism/detail/parallelism.hpp - Remove some wrong use of std::initializer_list std::initializer_list were used in a pre-CTAD world as a container, which is wrong since std::initializer_list are not owning. They were not really need anyway, so remove this wrong use. - Also fix 2 forgotten Boost.Test to Catch2 conversions commit 94eadd7c836c016bb33a47229acd9f47a76bdd55 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Oct 8 16:21:38 2021 -0700 Remove some wrong use of std::initializer_list std::initializer_list were used in a pre-CTAD world as a container, which is wrong since std::initializer_list are not owning. They were not really need anyway, so remove this wrong use. commit 079b697b6a238d9656d43f8f8e7af0517967cf31 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Oct 8 16:19:53 2021 -0700 Remove some OpenMP vectorizer warning messages Remove the warning messages from the (OpenMP) vectorizer in include/triSYCL/parallelism/detail/parallelism.hpp commit 5fca4033b334e5047d6096f0cc7594b5c9dbd41e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Oct 8 16:03:53 2021 -0700 Fix 2 forgotten Boost.Test to Catch2 conversions commit cab4ed5ce2ff499d5a25a4f4ec75aaa7011b013a Merge: 6b9cb2c4 ecb7d4f2 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Oct 4 18:35:34 2021 -0700 Merge pull request #308 from keryell/hidden_friends Use hidden friend comparison operators instead of member functions commit ecb7d4f2a50eea9ae3770a7b3d6d39000b016a6a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 28 16:13:59 2021 -0700 Remove useless capture of this commit 83d49a90b63819af654ed04eb7638a548effb0db Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 28 15:55:45 2021 -0700 Use hidden friend comparison operators instead of member functions Follow WG21 P1601R0 "Recommendations for Specifying “Hidden Friends”" from Walter E. Brown & Daniel Sunderland. This removes compilation warnings like: .../triSYCL/include/triSYCL/device_selector/detail/device_selector_tail.hpp:98:18: warning: ISO C++20 considers use of overloaded operator '==' (with operand types 'const trisycl::device' and 'const trisycl::device') to be ambiguous despite there being a unique best viable function [-Wambiguous-reversed-operator] return dev == default_device ? 1 : -1; commit 6b9cb2c4e9de3f96e47bb8cb18202d1577f1d7b5 Merge: 8e3df514 393ae45e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Oct 1 16:23:41 2021 -0700 Merge pull request #307 from keryell/catch2 Change the test infrastructure to use Catch2 v3 instead of Boost.Test commit 393ae45ed10a9c5dd71d1ff560ffaae3f589930b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 28 15:06:36 2021 -0700 Rewrite the tests to use Catch2 instead of Boost.Test commit 568c0fbc8af80e9fbeb67ac7c9df463d5151bea9 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Aug 31 07:06:45 2021 -0700 Use latest version of software through FetchContent There is a bug in CMake before 3.21 not having GIT_SHALLOW working, so use latest commit of the branch even if it is not super stable... commit c01c297920d673e6279b70f9276f98ebe5b63aff Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Aug 10 13:13:37 2021 -0700 Update CMake declare_trisycl_test to use Catch2 test infrastructure Take the opportunity to modernize tests/CMakeLists.txt too. commit 7ffd3c20aef2196f8e1bdb2055bb4f9570d45450 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Aug 10 12:23:04 2021 -0700 Remove spurious keyword commit 7c97ab13a6c0a849959c98e6769ff0d6d20511ae Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Aug 9 10:47:14 2021 -0700 Change a test to use Catch2 v3 instead of Boost.Test commit 8e3df51436fcdb3e8d2e1236cc2f06574317e5c7 Merge: 1ca8ce18 984767aa Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Aug 4 22:57:33 2021 +0200 Merge pull request #306 from keryell/fetch_content_range_v3 Fetch the content of the range-v3 library directly from the source commit 984767aaf5b44f3f46c1315a70f8ecff2aad50ea Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Aug 3 01:46:23 2021 -0700 Freeze the version of mdspan used Avoid some random breakage if the API changes upstream. commit d9081dd9336ad86eaa475573d1f0074db4a2c487 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Aug 3 01:41:12 2021 -0700 Fetch the content of the range-v3 library directly from the source This avoids some issues with old versions provided as package by some Linux distributions. commit 1ca8ce188f27be5bec243d52ef45ce2f5fccfea4 Merge: f77221a3 2cbd935c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Aug 2 16:02:04 2021 +0200 Merge pull request #304 from keryell/mdspan Moving from Boost.MultiArray to std::experimental::mdspan commit 2cbd935c15e8c57675be5ebb154bb349e821ed0c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jul 29 13:14:07 2021 -0700 Remove old install mdspan-related code Useless since by using FetchContent we do no longer install mdspan. commit 004bc3cd126273dae64cb8dff428fa5d66c88be8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jul 29 13:09:12 2021 -0700 Fix ctest call in GitHub Action Docker commit c4550343e78397c08397159635f009cb2356921c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jul 29 12:38:07 2021 -0700 Use FetchContent to install experimental std::mdspan Replace the previous ExternalProject which was only working by change in this configuration. commit a257b17da9a762f0cf802546e72f25a5e48ca544 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 10:07:35 2021 -0700 Fix CMake recipe in GitHub Action Docker commit c2c9ac3b526b9a2f1c2db57d48627283badf3ec6 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 09:52:54 2021 -0700 Clean up the GitHub Action cmake.yml commit 6527851d9ccc3b86219c4aec331c583176cc087a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 07:08:22 2021 -0700 Do not cancel all in-progress jobs if any matrix job fails commit f6316ade32ae0624ca35afc09f9d1bc9c9424675 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jul 23 10:57:25 2021 -0700 Take ownership of /usr/local for mdspan installation To have the CI working. commit 7e109001e81d480b8342776a0d459d570db58112 Merge: 79e24676 f77221a3 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 05:57:59 2021 -0700 Merge branch 'master' into mdspan commit f77221a305c3219505311060f512eec3d9dfccc3 Merge: dad47d1d 5f602ee2 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 14:55:29 2021 +0200 Merge pull request #305 from triSYCL/add-github-action-ci Add a GitHub Action CI based on CMake. Replace the defunct Travis CI. commit 5f602ee206248c42cdf590a247fcdfc32457f8c9 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 05:41:07 2021 -0700 Add a badge showing the status of the GitHub Action CI commit b485b13623c8372ae9f0e2ec9de288353e2a1963 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 27 05:29:03 2021 -0700 Remove defunct Travis CI configuration commit 581ee4621c29a8f44bee2f98bafee7e42af0b785 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jul 23 10:10:49 2021 -0700 Use GitHub Action strategy matrix This allows some code factoring along a suggestion from @AlexeySachkov Alexey Sachkov. commit cd93744d1beb3acd4961f84ba8d9a38c18fe6100 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jul 23 09:17:30 2021 -0700 Use more GitHub Action environment variables Suggestion from @AlexeySachkov Alexey Sachkov. commit df5d6beddee7dfa97f6b3ae10b7e4ffd44bd2bfb Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jul 23 07:43:16 2021 -0700 Do not run with Clang-12 and OpenMP with PoCL There is some library conflict. Remove also the installation of libomp-dev since it comes with Clang naturally nowadays. commit cb4a29051ae11297d7b2d6eaea8d02a72c911494 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jul 23 07:29:09 2021 -0700 Install the OpenMP library matching the version of Clang commit 78f74625e64b2b9c82312626d0e0f149b95a9a84 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jul 21 09:57:39 2021 -0700 Run various combinations of compilers and OpenCL/OpenMP commit 9e9632ab4a4afae5ff67f58792cbf8b0e06f167b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 20 08:57:13 2021 -0700 Use Docker to run the CI with a specific Ubuntu version Just try with g++-11 for now. commit fc696a775b1faab9fb364ed03dac0f3c582a2492 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 20 03:20:43 2021 -0700 Add required Ubuntu packages in GitHub Acti on# commit 79556ddc305fc3a309588f89fe097d08ed0ea7bf Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jul 20 03:00:17 2021 -0700 Start a GitHub action CI This is to replace the defunct Travis-CI for open-source projects. Use default suggested cmake.yml commit 79e2467693779a4e98c6902b2e2faeb6d214a661 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 14 14:24:56 2021 -0700 Update basic_mdspan to mdspan according to P2299R3 implementation basic_mdspan disappeared in https://github.com/kokkos/mdspan/pull/59 commit b87d851d4557ea6a7a11c5a427bcbc057b100113 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 7 17:11:24 2021 -0700 Install P0009 mdspan implementation since it is used by triSYCL Use CMake ExternalProject for this. commit 8be118819f877f7305c5058ff5aa242a232cee8a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 7 16:55:02 2021 -0700 Update to mdspan implementation from P0009r11 index_type was renamed size_type. commit 22ec9822eeef738804b665a8b9025e9cf9f2ea6e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 4 15:46:30 2021 -0700 Fix test to use new accessor::rank() API commit a7d9c67bbcdcda75ca4086cbeeb6f1c2ffc9db48 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 4 15:39:07 2021 -0700 Implement accessor iterators on top of C++20 std::reverse_iterator commit a47a2ac02d430f3c658c726283b4b2d0f5d08f20 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 4 15:37:24 2021 -0700 Test also the accessor reverse iterators commit b85dbd6439a1a1b13b4f7d03a5745f14c261f456 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jun 3 18:45:55 2021 -0700 Refactor local accessor on top of existing accessor façade and mixin Also implement a CPU local accessor as a host accessor on top of an internal host buffer. commit 301b86daf73dc34fe55f052d85ec04891e3e4704 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 26 15:57:27 2021 -0700 Add rank() to several SYCL objects and remove Boost.MultiArray commit a5857e44c4d4c9f6c439ed613d1a31c0dae2e1e3 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 26 14:09:55 2021 -0700 Handle buffer of const values commit 9b1ece162659143e34c15d0b80755fac15a71726 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 26 13:51:17 2021 -0700 Implement accessor[i1][i2][i3] syntax on top of mdspan object Use a proxy object to transform an expression like accessor[i1][i2][i3] into the implementation mdpsan(i1,i2,i3) one index at a time. It gathers intermediate [index] to finally call the mdspan indexing operator once they are all available. commit b3019b00e452262e3cfffee35c451965b54a791d Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 26 11:42:20 2021 -0700 Add 3D case and remove offset in host accessor test Offsets are deprecated in SYCL 2020 so do not waste time on this. commit ef85808fb4cb1653a9716096fc87e91a6227efcc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue May 25 15:26:43 2021 -0700 Fix accessor get_pointer() const-ness Fix accessor/accessor.cpp get_pointer() test. commit cf39b409fc9bcd5471f7c8a18433ff79cc3ded08 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri May 21 15:35:59 2021 -0700 Move user-facing buffer accessor functions into an accessor façade commit 16911c89b121059a993965225922c2ad27267ef4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri May 21 14:04:22 2021 -0700 Move buffer detail get_range/get_count/get_size into accessor mixin commit 24082e3169993f3f456f06441124169bb5385415 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri May 21 13:45:54 2021 -0700 Factorize the accessor aspects of buffer details into a mixin commit 301c0902dd84bc355d14d768d874c80a4c9e4e84 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 20 15:54:12 2021 -0700 Bring back the old allocation/deallocation scheme for host buffer Otherwise we cannot make the difference between memory provided by the user or not during buffer destruction. commit 05fbda503903c99f67df227d22f2a0d346a8fdc0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu May 20 15:37:04 2021 -0700 Fix include guard macro name commit 06b36f7d38db92ff2260e8459d3f27ca8e221fb5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 19 16:36:10 2021 -0700 Use mdspan for multidimensional accessors and arrays There are still a lot of tests failing. commit 4ecaafcb4bc792c18d5e1ddeb7f6a50b017e4f22 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed May 19 15:49:35 2021 -0700 Pass SYCL index objects by const ref to accessors Otherwise it will become too costly with high ranks in the future. commit f31d53d2b2f42dd6df3b2e0acbceae31f732d628 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon May 17 10:40:52 2021 -0700 Start moving from Boost.MultiArray to std::experimental::mdspan For now, just working on 1-D and for host_accessor. commit dad47d1d5d997a20559a9b39996e54bc4719e4f1 Merge: 65f37761 7bd5a959 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue May 11 15:37:23 2021 -0700 Merge pull request #303 from keryell/host_accessor Add minimal SYCL 2020 host_accessor commit 7bd5a959edb7942aedf81a33357cc2a10982c14e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon May 10 17:41:10 2021 -0700 Add rank() function à la ISO C++ P0009 mdspan Return the number of dimension of the object. commit 47d592f3e96271b4188f7513bf53dcbdae7d2888 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon May 10 17:42:16 2021 -0700 Add minimal SYCL 2020 host_accessor For now this is just an alias to the SYCL 1.2.1 equivalent type. commit 65f3776146ad47d01152db01b0a6a704ce237293 Merge: fbfc9c4d 30ea4aaf Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Apr 29 17:46:13 2021 -0700 Merge pull request #302 from krasznaa/SubProject-master-20210429 CMake Sub-Project Improvements, master branch (2021.04.29.) commit 30ea4aaf3b1f38a56e1245b27259232d4a749559 Author: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> Date: Thu Apr 29 10:55:16 2021 +0200 Made the project configuration more friendly towards being included in another project. Allowing the CMAKE_CXX_STANDARD variable to have been pre-configured by the parent project, and foregoing the CPack configuration if it is not the main project being built. commit fbfc9c4d66fbb342da2f0636dfe00bd204b9ff69 Merge: 035e4f9c 54bec9f4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Apr 19 14:03:17 2021 -0700 Merge pull request #301 from keryell/facade SYCL facade to build generic conceptual SYCL devices commit 54bec9f404f5cc8e48e59b4644c4afae183f3f6f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 7 13:54:11 2021 -0700 Implement a device facade to build generic conceptual SYCL devices Useful to generalize SYCL devices with more or different API while keeping the same conceptual behavior. For example for devices like Xilinx AIE CGRA. commit 035e4f9c32c4bb08aa561580b4e2075c15f8ed76 Merge: 25c020af 27e41cac Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Mar 24 21:49:03 2021 -0700 Merge pull request #298 from lforg37/sign_function Add sign function commit 27e41cacfb018694d975bbd4d1c4f45ff07a0c46 Author: Luc Forget <luc.forget@insa-lyon.fr> Date: Thu Feb 4 10:02:28 2021 +0100 Add sign function commit 25c020af196446de3124bfd810e8b63841267183 Merge: 3ffd9acd ffad3ac1 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Mar 18 19:11:25 2021 -0700 Merge pull request #299 from keryell/vec-abs Generalize mathematical functions on sycl::vec commit ffad3ac1e6ef80f208f59d4beef1a7193adba7aa Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Mar 17 21:40:21 2021 -0700 Remove work-in-progress work on vector operations commit 3ffd9acdbb994016ab118124489fa9b18c262804 Merge: d092e455 f2187d36 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Mar 17 17:38:38 2021 -0700 Merge pull request #300 from keryell/ronan/fix-debug-ctor-tracer Improve debug tracing class commit f2187d367ac64e05c25ede3e7bc55019edd4d497 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Mar 16 15:43:58 2021 -0700 Name the type_pretty_name() function to be used by the heir class commit b41e89a4134d3f7e971bc14ea4e62c277eeef9d8 Author: Ronan Keryell <ronan.keryell@xilinx.com> Date: Wed Feb 24 07:55:25 2021 -0800 Apply suggestion from review Factorize out function to get the name of a type. Co-authored-by: Luc Forget <lforg37@users.noreply.github.com> commit e329fe8034c7e016c6e6299b5ece33ef10ec447a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Feb 23 11:28:04 2021 -0800 Improve debug tracing class The trisycl::detail::debug CRTP was using introspection of the native type to know whether the type was copy and move constructible before defining such a constructor to avoid preventing the generation of the default assignment operator. But actually this is an unsolvable question because of the self-reference essence of the CRTP. It was still working with G++ but no longer working starting with Clang++-11. So, instead, do not use std::enable_if or concepts but just define all the operators. A nice side effect is that now copy and move assignments can be traced too. commit f97919689f7a1bbb9b5824a60badf3ed4011495b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Feb 23 09:54:13 2021 -0800 Use references instead of pointers Shorter and cleaner. commit 95db17345f4814f1dce29db6c0ee5259fc48159b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Feb 13 14:23:10 2021 -0800 Generalize mathematical functions to sycl::vec Test that sycl::abs now works for sycl::vec. This should be tested quite more... commit 430feda6798e287d7e5057d907feb37107bc1b87 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Feb 13 13:26:16 2021 -0800 Sort before improving commit 3ee217f0cdb3118ba751f1ec3bd776621e62a936 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Feb 13 12:57:36 2021 -0800 Modernize test commit d092e455ab06064249a9df2454b12eadaa4c4dc2 Merge: 2b6349a6 02f75fed Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Feb 1 12:15:15 2021 +0100 Merge pull request #297 from keryell/trisycl-triSYCL Use triSYCL in file names instead of trisycl commit 02f75fed2dbe944f0dbf31ae6be4b30a1879e856 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jan 28 21:38:45 2021 +0100 Use triSYCL in file names instead of trisycl But keep trisycl in namespaces as the basic coding style. commit 2b6349a6720fd396958e3c09c754f36514afd28a Merge: 76302fb5 255d6d96 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jan 28 11:49:19 2021 +0100 Merge pull request #296 from keryell/ronan/random-xorshift Add extension for simple xorshift pseudo random generator commit 76302fb5708f714edb17a45abb1c987f2f63a8da Merge: 177d6f41 2e0acac5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jan 28 11:38:08 2021 +0100 Merge pull request #293 from keryell/ronan/include-SYCL-sycl Change #include "SYCL/sycl.hpp" to "sycl/sycl.hpp" for SYCL 2020 Everything in lowercase to avoid mixed-case confusion. commit 255d6d96c2530ab65860c9ec93f2f68567d11153 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 25 22:12:55 2021 +0100 Add CMake configuration for tests/random/xorshift commit 3f11975a1672483a189b9a1379c788718cc84a9b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 25 21:57:31 2021 +0100 Connect xorshift to other <random> functions from the STL xorshift can be used to generate uniform numbers and so on. commit 4a6523b9fd1206067fbd18f5eb9d098c235f09b0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 25 21:15:30 2021 +0100 Add default initialization to xorshift Add also unit tests. commit 138e141827944e831790f9146ddde2aa0ab8af2f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 25 18:44:03 2021 +0100 Fail with an error message for unimplemented xorshift bit size commit 36bd966a2fcd10e621e665b88a9509237cd7e998 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jan 25 18:38:07 2021 +0100 xorshift pseudo random number generator extension commit 177d6f4171def98efde3e3cffcc6a3cb29dab03b Merge: a8c204b7 4dc16ac9 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jan 22 21:13:08 2021 +0100 Merge pull request #294 from keryell/ronan/math-forward Add "const &" to math function arguments commit 4dc16ac9ebf4675dcba225969ca413aa483474cc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jan 20 22:02:15 2021 +0100 Add "const &" to math function arguments Avoid to copy sycl::vec arguments for example. commit 2e0acac590c4d1d710aa44f4125026c88e7985ee Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 19 21:52:44 2021 +0100 Change #include "SYCL/sycl.hpp" to "sycl/sycl.hpp" for SYCL 2020 Everything in lowercase to avoid mixed-case confusion. commit a8c204b7f9e11846923a3b00a5d5276ad484fb63 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 12 17:11:59 2021 +0100 Remove parasitic namespace commit 744113af1bdd6309222d63f35643237fc95bde91 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 12 17:11:26 2021 +0100 Add missing weak attributes commit 959643fc62fc873baa42dcabd0e4d4cd77b07885 Merge: 8c2b9ab1 1888d5da Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 5 18:33:51 2021 +0100 Merge pull request #291 from keryell/unary-operators Implement unary operators for vector-like SYCL types commit 1888d5da053c3fc7ece8b90decdf197673aace4d Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 5 15:53:54 2021 +0100 Modernize compilers in Makefile and documentation commit 086d30ede6b163f3408a508f4da4a034f0541de8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jan 5 15:49:32 2021 +0100 Remove operator ambiguity between 1-element vector and basic type commit e75c419e890e3f944a4a68fed2562e9c7d48ae14 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Dec 1 22:22:30 2020 -0800 Implement unary operators for vector-like SYCL types -, +, -- and ++ were forgotten in the specification for range, id, vec... commit 8c2b9ab155ceb9a08591ac2150dbcdfc2a406e8e Author: Ronan Keryell <ronan@keryell.fr> Date: Sun Nov 29 15:16:11 2020 -0800 Add trisycl::detail::overloaded to ease std::visit usage commit 1796763457daf29bf4ffd2b9a06e863090fed11e Merge: 0faf2904 b27e99af Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Nov 6 15:23:45 2020 -0800 Merge pull request #290 from keryell/cout-pipe Add triSYCL pipe extension to send data to std::cout commit b27e99af3e5231ed6da99b3133b9226d5429f5c5 Author: Ronan Keryell <ronan@keryell.fr> Date: Tue Oct 13 10:31:01 2020 -0700 Add triSYCL pipe extension to send data to std::cout commit dec0c835031714eeb89e5a1ee9cb3f5b41b4fefa Author: Ronan Keryell <ronan@keryell.fr> Date: Tue Oct 13 10:04:14 2020 -0700 Enable vendor extensions include from SYCL/ too Add a symbolic link so it works both from triSYCL/ and SYCL/. commit 0a76cb10b61433a06eb8cc92a998b06315e96197 Author: Ronan Keryell <ronan@keryell.fr> Date: Tue Oct 13 10:01:53 2020 -0700 Fix linking when using triSYCL in several translation units Use more C++17 inline. commit 0faf2904e14e519714296262abd15f24406ed003 Merge: bd3346e4 a13e6dbc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Sep 30 16:28:30 2020 -0700 Merge pull request #289 from keryell/cmake CMake improvement commit a13e6dbce3157919f9e54f8f492ae5710769a754 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Sep 25 19:22:09 2020 -0700 Add range-v3 library in the CMake public dependencies commit eda2dba4830fb597e80e8cae04b75535daf83c16 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 22 19:27:18 2020 -0700 Start adding range-v3 library to the documentation and CMake commit f566813352dc713476e99f76dfe964b1b09e9dfc Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 22 19:14:38 2020 -0700 Remove some unused variable from an internal branch commit 84ecf06f352d4c49bba3341845e620292f3802c5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 22 18:30:02 2020 -0700 Update Boost packages in CMake to match usage commit 8ff65320f9d52a5373041679aa397810b29d772b Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 22 17:31:26 2020 -0700 Rename FindTriSYCL to FindtriSYCL to match the project name commit bd3346e483e2e547045d390c0c15244d31e56364 Merge: 84cbb4d2 d5c08576 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 22 09:14:26 2020 -0700 Merge pull request #288 from Ralender/FixLeak Fix memory leaks caused by incorrect initialization order. Fix memory leak caused by circular dependency. commit f579f4310c707e18505594f4fdecbccfb719c286 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Sep 21 21:10:10 2020 -0700 Improve TRISYCL_INCLUDE_DIR computation for remote usage It is computed from the CMake file location instead of the project location, in such a way the value is correct when the file is included from anywhere. commit d2887f2f692221c94c867339735b2d18f731e877 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Sep 21 21:08:02 2020 -0700 Improve CMake documentation Modernize and generalize the build command. Document the package build. commit d5c0857652379cc49983b8194a18ef8ff2f3fbc8 Author: Gauthier Harnisch <gauthier@xilinx.com> Date: Wed Sep 9 07:01:51 2020 -0700 Fix memory leak caused by circular dependency commit 7d82ccf94985cf3a8a74a83b27895cdbae97649a Author: Gauthier Harnisch <gauthier@xilinx.com> Date: Wed Sep 9 05:41:22 2020 -0700 Fix memory leaks caused by incorrect initialization order commit 84cbb4d2b2b170a998dd03a7ae389da9d7fa6ba1 Merge: 0c69f873 86a86610 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Sep 8 22:03:49 2020 +0200 Merge pull request #287 from j-stephan/fix_integer_conversion Fix faulty integer conversion commit 86a86610acf778ba7cdbee6ed7f8d16c8f81e241 Author: Jan Stephan <jan.stephan.dd@gmail.com> Date: Fri Sep 4 16:31:39 2020 +0200 Fix faulty integer conversion commit 0c69f873df1a5f900fe8fe2c3fcf21e6d964b2d9 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Thu Jul 2 11:52:56 2020 -0700 Update project status in README commit b97c97a70a529af6587c84e23aa08a21a042b2c3 Merge: 1f410849 d22e9a44 Author: Jan Stephan <jan.stephan.dd@gmail.com> Date: Wed Jun 10 09:38:28 2020 +0200 Merge pull request #281 from keryell/issue-276 Add missing #include <optional> commit d22e9a446df6e5c18c4631b3d415d03ecd67394f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Jun 9 19:57:11 2020 -0700 Add missing #include <optional> This should fix https://github.com/triSYCL/triSYCL/issues/276 noticed by @Lotte1990 commit 1f410849c6e575c24c2986dc007d245f40054330 Merge: ce9b50f5 5fd811e8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 8 18:45:39 2020 -0700 Merge pull request #263 from keryell/new_pipe New pipe extension on CPU This implements an extension close to the Intel proposal discussed intel/llvm#832 Move obsolete SYCL 2.2 pipe into sycl_2_2:: namespace and tests to a specific directory. commit 5fd811e8a9d09006bb4fca8f2584e8c0e27c4af7 Merge: ad678aad 434ccd3a Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 8 18:08:22 2020 -0700 Merge branch 'master' into new_pipe commit 434ccd3af1f1784224c1f99b3bff95b48cdd97a2 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 8 17:38:02 2020 -0700 Modernize .travis.yml syntax and state we are using Linux commit ce9b50f5cfc064668f844d500b77bd59ec015194 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 8 17:06:56 2020 -0700 Improve Dockerfile to handle any compiler version Not only a precise hard-coded version. commit 59a04f7d6d80b4ab5ff5502a66261145362d49da Merge: a7da8920 b79b780f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 8 16:34:36 2020 -0700 Merge pull request #270 from j-stephan/master Use standard C++ attribute syntax commit b79b780fcdf25c8c09ba7619b3314a762f01e01f Author: Jan Stephan <jan.stephan.dd@gmail.com> Date: Mon May 11 22:24:05 2020 +0200 Use standard C++ attribute syntax commit a7da8920bcf46a0fc06c062cf1b08259add472f4 Merge: 0a1b990f 77fc3f94 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Sat Jun 6 10:04:49 2020 -0700 Merge pull request #272 from keryell/structured-binding Implement SYCL extension for sycl::vec<> with structure binding Simple extension described in https://github.com/triSYCL/triSYCL/issues/271 commit 0a1b990f9927fd89646c0d3d05d922b6c809c585 Merge: ecc413d0 3f062d81 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 5 17:54:36 2020 -0700 Merge pull request #262 from keryell/fiber_executor Add fiber pool executor based on Boost.Fiber and std::thread commit 77fc3f945c334ae0c25ac51b6faaab75ea2f58f9 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 5 17:28:38 2020 -0700 Use a struct for std::tuple_size<trisycl::vec> specialization This fix this warning: /trisycl/include/triSYCL/vec.hpp:584:1: warning: 'tuple_size' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] class tuple_size<trisycl::vec<T, Size>> ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/utility:84:5: note: did you mean class here? struct tuple_size; ^ commit 3f062d816685dc538cb4d914688247e03e26054e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 5 17:20:11 2020 -0700 Add missing Boost.Thread and update GCC & Clang to 7 commit 7c7c282426bda018532ee09ce71d1b8c84ba89dd Merge: 21d788e7 ecc413d0 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 5 16:44:34 2020 -0700 Merge branch 'master' into fiber_executor Resolve conflicts on: Dockerfile commit ecc413d0b38e2fe711c3d92f8b7dcae3692a7360 Merge: c3a5e005 3763a415 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Fri Jun 5 16:35:47 2020 -0700 Merge pull request #274 from keryell/modern-CI Modernize Travis-CI testing configuration to use latest Ubuntu 20.04 commit 3763a415e5e986b4b244abdf2ad287660af34ead Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 10:44:12 2020 -0700 Use noninteractive frontend to avoid hanging forever during install This fix the following problem with solution from https://github.com/tgockel/json-voorhees/pull/161: Setting up tzdata (2020a-0ubuntu0.20.04) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc 2. America 5. Arctic 8. Europe 11. SystemV 3. Antarctica 6. Asia 9. Indian 12. US Geographic area: No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself. Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received The build has been terminated commit b6d40bec5e3a7d65437e0d5dd50d19321f638732 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 10:14:25 2020 -0700 Update compilers to GCC-10 & Clang/LLVM-10 commit fc0f1cf3652d17f696c66f3d9f1a8188aee3b0db Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 09:49:14 2020 -0700 Also use Ubuntu 20.04 in Docker containers Technically speaking, Docker is no longer necessary right now because we use the same OS version as the underlying Travis-CI one. But in the future it might be probably different again, so keep this infrastructure alive, even if it causes quite latency for nothing right now. commit b01ec2b168df5e7f55b864946932c74fda15ebf5 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 09:29:12 2020 -0700 Use directly Ubuntu 20.04 on Travis-CI It is not officially available in the Travis-CI documentation but it looks like it is available! :-) commit 38812f193ce9ef9fd80b3d1060cf025196836907 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 09:07:23 2020 -0700 Use Ubuntu 18.04 in Travis-CI commit 439ed50e6b7b5e76e7836a2a1f66c02a9baab054 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Jun 3 08:31:17 2020 -0700 Remove deprecated Travis-CI option commit f039fb9bb29963f4756d0b5df9f4036c30a4173e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 1 13:35:48 2020 -0700 Add new vector structure binding test to the CMake infrastructure commit a6b5cded4643cb1d10797ccb3dba38875840711c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 1 13:28:09 2020 -0700 Implement SYCL extension for sycl::vec<> with structure binding This should close the extension request https://github.com/triSYCL/triSYCL/issues/271 commit 0631d4a716ca0e16e774485347a1f2509acbe57e Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Jun 1 13:24:58 2020 -0700 Clean-up forward declarations and #include around sycl::vec<> commit c3a5e005a704b2cbf1c548c8b03ccc15d6012d2d Merge: 3b16711c ede9344f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 22 18:48:54 2020 -0700 Merge pull request #266 from keryell/master Fix various warnings and clean up Actually some warning has been fixed for C++20, but now it can cause warning with some older compilers... commit ede9344f62987220a1cf58a9d28770426ec55d37 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 22 14:52:36 2020 -0700 Just use std::abs, std::min, std::max No need to reinvent them nowadays. commit b30ea396b1e49e93e4305cacfd479c3d91c9084c Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 22 14:51:25 2020 -0700 Fix unused variable warnings commit c786154f587ae6bd47ba32f1c4d0d58cabb130f8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 22 14:50:12 2020 -0700 Fix "implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20" commit 315cf06ed46328e04c4f00e89aa516cb58f6a6db Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 22 14:46:20 2020 -0700 Remove useless copy constructor Just trust the compiler. commit ad678aad418c951b16801e725d0be0f78c5d6d66 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Apr 13 18:21:52 2020 -0700 Add missing header commit 132085527cd9ff0f1825180d82393aeb2a52d8a8 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Wed Apr 8 14:16:14 2020 -0700 First attempt of Intel pipe extension on CPU This is based on boost::fibers::buffered_channel FIFO. commit dd11b402a009c4219f2f1a9d8e4085e576415810 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Apr 7 15:28:47 2020 -0700 Move tests for obsolete SYCL 2.2 pipe into specific directory commit a6e196d40c0c6d41aabff206f7298a2fe7f63cf4 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Apr 6 16:54:54 2020 -0700 Move old SYCL 2.2 pipe proposal into a cl::sycl::sycl_2_2 namespace This frees the cl::sycl namespace to experiment with new pipe extensions later. commit 66dfa3ba254c7c59cef703701b86eb9dc26751c6 Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Apr 6 15:14:17 2020 -0700 Move obsolete SYCL 2.2 pipe related code into separate Doxygen module commit b30d03704c91048ac36fa35e5c0f412ab4d15a4d Author: Ronan Keryell <rkeryell@xilinx.com> Date: Mon Apr 6 14:54:32 2020 -0700 Move old SYCL 2.2 pipe examples into old_pipe directory This is a proposal for the now abandoned SYCL 2.2 provisional specification. This is still here for historical reasons. commit 21d788e798aeaa5d6fe0aeba7693e805c3123c0f Author: Ronan Keryell <rkeryell@xilinx.com> Date: Tue Mar 31 17:14:47 2020 -0700 Change fiber executor API to return a future to some result This allows cleaner resource management. commit 31dd7dd7b5a0c27abed448fb26adfc2d9256fbff Author: Ronan Keryell <ronan.keryell@xilinx.com> Date: Thu Mar 26 12:07:20 2020 -0700 Add missing librange-v3-dev package to TravisCI configuration commit e65ceb7c3a6e09290125cc288398f0baef4f3cbc Author: Ronan Keryell <ronan.keryell@xilinx.com> Date: Thu Mar 26 11:37:01 2020 -0700 Add fiber pool executor based on Boost.Fiber and std::thread This comes is mainly recycling the experiment done in https://github.com/keryell/teaching_C-plus-plus/tree/master/Boost/Fiber
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.
Follow WG21 P1601R0 "Recommendations for Specifying “Hidden Friends”"
from Walter E. Brown & Daniel Sunderland.
This removes compilation warnings like:
Also remove a useless capture of
this
.