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.