Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /HeterogeneousTest/AlpakaDevice/README.md is written in an unsupported language. File is not indexed.

0001 # Introduction
0002 
0003 The packages `HeterogeneousTest/AlpakaDevice`, `HeterogeneousTest/AlpakaKernel`,
0004 `HeterogeneousTest/AlpakaWrapper` and `HeterogeneousTest/AlpakaOpaque` implement a set of libraries,
0005 plugins and tests to exercise the build rules for Alpaka.
0006 In particular, these tests show what is supported and what are the limitations implementing
0007 Alpaka-based libraries, and using them from multiple plugins.
0008 
0009 
0010 # `HeterogeneousTest/AlpakaDevice`
0011 
0012 The package `HeterogeneousTest/AlpakaDevice` implements a library that defines and exports Alpaka
0013 device-side functions:
0014 ```c++
0015 namespace ALPAKA_ACCELERATOR_NAMESPACE::test {
0016 
0017   inline ALPAKA_FN_ACC void add_vectors_f(Acc1D const& acc, ...) { ... }
0018 
0019   inline ALPAKA_FN_ACC void add_vectors_d(Acc1D const& acc, ...) { ... }
0020 
0021 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE::test
0022 ```
0023 
0024 The `plugins` directory implements the `AlpakaTestDeviceAdditionModule` `EDAnalyzer` that launches
0025 an Alpaka kernel using the functions defined in ths library. As a byproduct this plugin also shows
0026 how to split an `EDAnalyzer` or other framework plugin into a host-only part (in a `.cc` file) and
0027 a device part (in a `.dev.cc` file).
0028 
0029 The `test` directory implements the `testAlpakaDeviceAddition` binary that launches a Alpaka kernel
0030 using these functions.
0031 It also contains the `testAlpakaTestDeviceAdditionModule.py` python configuration to exercise the
0032 `AlpakaTestDeviceAdditionModule` plugin.
0033 
0034 
0035 # Other packages
0036 
0037 For various ways in which this library and plugin can be tested, see also the other
0038 `HeterogeneousTest/Alpaka...` packages:
0039   - [`HeterogeneousTest/AlpakaKernel/README.md`](../../HeterogeneousTest/AlpakaKernel/README.md)
0040   - [`HeterogeneousTest/AlpakaWrapper/README.md`](../../HeterogeneousTest/AlpakaWrapper/README.md)
0041   - [`HeterogeneousTest/AlpakaOpaque/README.md`](../../HeterogeneousTest/AlpakaOpaque/README.md)
0042 
0043 
0044 # Combining plugins
0045 
0046 `HeterogeneousTest/AlpakaOpaque/test` contains the `testAlpakaTestAdditionModules.py` python
0047 configuration that exercise all four plugins in a single application.