Skip to content

Refactoring for execution policies

Jakub Klinkovský requested to merge JK/execution into develop

Brief summary of changes:

  • Removed MIC support
  • Refactored VectorFieldVTKWriter
  • Reimplemented getType() function using typeid operator and removed useless getType() methods
  • CUDA:
    • Moved (most of) static methods from TNL::Devices::Cuda as free functions into separate namespace TNL::Cuda
    • Moved synchronization of smart pointers from Devices::Cuda into TNL::Pointers namespace as free functions
    • Moved atomicAdd function from Devices/Cuda.h into Atomic.h
    • Removed duplicate TransferBufferSize constants (addresses #26 (closed))
  • Moved SystemInfo class out of the Devices namespace
  • Benchmarks: added benchmarks for array copy and compare using memcpy and memcmp
  • ArrayOperations:
    • using more parallel algorithms and suitable sequential fallbacks
    • added missing methods for the static/sequential specialization
    • Split ArrayOperations into MemoryOperations and MultiDeviceMemoryOperations
  • Moved algorithms from TNL/Containers/Algorithms/ to just TNL/Algorithms/
  • Serialization in TNL::File: File::save and File::load are specialized by Allocator instead of Device
  • Added Devices::Sequential and corresponding specializations in TNL::Algorithms
  • Enforced builds without (more or less) any warnings
  • Removed Containers::List because it has no benefits over std::list
Edited by Jakub Klinkovský

Merge request reports