diff --git a/README.md b/README.md index 6e37eb31a..b254f7b8a 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ conda env create -f alien-env.yml conda activate alien-env ``` -Then the CMAKE OPTIONS has to be activated in the Alien configuration step +Turn ON the ALIEN_GENERATE_DOCUMENTATION Option in the Alien configuration step. ```shell script cmake -S `pwd`/alien \ diff --git a/docs/sphinx/sycl/install.rst b/docs/sphinx/sycl/install.rst index e80e09bde..53b87f420 100644 --- a/docs/sphinx/sycl/install.rst +++ b/docs/sphinx/sycl/install.rst @@ -7,7 +7,17 @@ How to install SYCL Installing SYCL =============== -Alien's build system is based on CMake. +Alien SYCL backend has been developped on top of the hipSYCL implementation of the SYCL API 2020 specification. + +hipSYCL depend on the LLVM infrastructure, Clang compiler to compile device codes. +Our implementation still indevelopement has been tested with: + +- LLVM 10.0 +- Clang with GCC 10.2 +- CUDA 10.1 + +AMD devices with ROCM and Intel device with OneAPI and DPC++ have not been already tested. + Getting the sources ------------------- diff --git a/docs/sphinx/tutorial.rst b/docs/sphinx/tutorial.rst index a08898f4a..6297e97c8 100644 --- a/docs/sphinx/tutorial.rst +++ b/docs/sphinx/tutorial.rst @@ -51,10 +51,12 @@ The Space concept enable to modelize the mathematical algebraic real space :math To build this concept several tools are provided: -- the `IndexeManager` package provides helper tools to manage `Integer IndexSets` +- the `IndexManager` package provides helper tools to manage `Integer IndexSets` - the `Distribution` package provides helper tools to manage the partition of `IndexSets` between MPI processes +The following code illustrates how to build with an `IndexManager` object, families of unique indexes and different `IndexSet` objects. + .. code-block:: bash int Nx = 10; @@ -110,24 +112,24 @@ To build this concept several tools are provided: // Combine all index set and create Linear system index system index_manager.prepare(); + +Once some `IndexSet` are built and enregistred in the `IndexManager`, matrix and vector `Distribution` objects +are built to manage the distribution of indexes between MPI processes. + +The following code illustrates how to build theses objects. + +.. code-block:: bash + auto global_size = index_manager.globalSize(); auto local_size = index_manager.localSize(); trace_mng->info() << "GLOBAL SIZE : " << global_size; trace_mng->info() << "LOCAL SIZE : " << local_size; - /* - * DEFINITION of - * - Alien Space, - * - matrix and vector distributions - * to manage the distribution of indexes between all MPI processes - */ - - auto space = Alien::Space(global_size, "MySpace"); - - auto mdist = - Alien::MatrixDistribution(global_size, global_size, local_size, parallel_mng); - auto vdist = Alien::VectorDistribution(global_size, local_size, parallel_mng); + auto mdist = Alien::MatrixDistribution(global_size, global_size, + local_size, parallel_mng); + auto vdist = Alien::VectorDistribution(global_size, + local_size, parallel_mng); trace_mng->info() << "MATRIX DISTRIBUTION INFO"; trace_mng->info() << "GLOBAL ROW SIZE : " << mdist.globalRowSize(); @@ -140,6 +142,19 @@ To build this concept several tools are provided: trace_mng->info() << "LOCAL SIZE : " << vdist.localSize(); +Then `Space` objects can be built as follows: + +.. code-block:: bash + + /* + * DEFINITION of + * - Alien Space, + * - matrix and vector distributions + * to manage the distribution of indexes between all MPI processes + */ + + auto space = Alien::Space(global_size, "MySpace"); + Matrix ------ @@ -295,4 +310,4 @@ Solving the linear system consists in finding the solution X such that :math:`A* } solver->end(); - \ No newline at end of file +