- Mar 02, 2020
-
-
-
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
- Feb 29, 2020
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
Tests don't pass yet...
-
- Nov 08, 2019
-
-
Jakub Klinkovský authored
Closes #49
-
Jakub Klinkovský authored
They are not suitable for more than 2 devices/execution types; their design breaks the Open-Closed Principle. Instead, a type template "Self" was created, which allows to change any template parameter.
-
Jakub Klinkovský authored
-
- Oct 25, 2019
-
-
Jakub Klinkovský authored
The usage of algorithms such as MemoryOperations or Reduction is not bound to a particular container. On the other hand, ArrayIO, ArrayAssignment, VectorAssignment and StaticArrayAssignment are just implementation details for the containers - moved into TNL/Containers/detail/ Also moved ParallelFor, StaticFor, StaticVectorFor, TemplateStaticFor into TNL/Algorithms/
-
Jakub Klinkovský authored
This will be necessary to avoid code bloat with more than 2 devices (execution types).
-
Jakub Klinkovský authored
Moved (most of) static methods from TNL::Devices::Cuda as free functions into separate namespace TNL::Cuda The class TNL::Devices::Cuda was too bloated, breaking the Single Responsibility Principle. It should be used only for template specializations and other things common to all devices. The functions in MemoryHelpers.h are deprecated, smart pointers should be used instead. The functions in LaunchHelpers.h are temporary, more refactoring is needed with respect to execution policies and custom launch parameters.
-
- Oct 24, 2019
-
-
Jakub Klinkovský authored
Fixes #46
-
Jakub Klinkovský authored
-
- Sep 03, 2019
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
- Sep 02, 2019
-
-
Tomáš Oberhuber authored
Implemented StaticArray::operator= accepting both arrays and single StaticArray:::ValueType compatible type.
-
Tomáš Oberhuber authored
-
Tomáš Oberhuber authored
-
- Aug 27, 2019
-
-
Jakub Klinkovský authored
-
- Aug 17, 2019
-
-
Jakub Klinkovský authored
Fixes #43
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
Same changes as for the regular Reduction operation...
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This is nicer because it more clearly separates data load, computation and data store. Furthermore, it allows to use instances of std::plus, std::logical_and, std::logical_or, etc. instead of custom lambda functions.
-
Jakub Klinkovský authored
It contained only methods for prefixSum and segmentedPrefixSum, which were identical for Host and Cuda, so they can be easily implemented directly in Vector and VectorView.
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This is necessary to be able to run tests in parallel.
-
- Aug 14, 2019
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
It works for any value, device and index types, but the permutations of both arrays must be the same and both arrays have to be contiguous.
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-