diff --git a/AGENTS.md b/AGENTS.md index 88bdddc35..39fdc6cc3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,4 +19,14 @@ IPPL is a C++ Particle and fields Framework. Preserve physical correctness over - For algorithmic changes, state expected impact on conservation, stability, and reproducibility. - Flag any change that may alter floating-point behavior or MPI/GPU execution order. - Add or update at least one regression/sanity test for physics-facing changes. -- Keep am eye on parallel efficincy at least on the openmp level \ No newline at end of file +- Keep am eye on parallel efficincy at least on the openmp level + +# Naming Conventions + +- Variables should use camel casing +- Compile time constants should use capital casing +- Member variables should be suffixed with `_m` + +# Math + +Mathematical constants should be obtained from `Kokkos::numbers` (moved out of `experimental` in Kokkos 4). Any instance of a mathematical function in host-only code should use symbols from the standard library, e.g. `std::sqrt`. Any instances occurring in device-code or code that might be run on a device (such as those marked with `KOKKOS_INLINE_FUNCTION`) should use the symbols from Kokkos, e.g. `Kokkos::sqrt`, to ensure performance and portability on GPUs. diff --git a/INSTALLATION.md b/INSTALLATION.md deleted file mode 100644 index 6f5a2d14e..000000000 --- a/INSTALLATION.md +++ /dev/null @@ -1,249 +0,0 @@ -All the new developments of IPPL are merged into the `master` branch which can make it potentially unstable from time to time. So if you want a stable and more tested version -please checkout the tagged branch corresponding to the latest release (e.g. `git checkout tags/IPPL-x.x.x`). Otherwise if you want the latest developments go with the master with the above caveat in mind. - -## Requirements - -* [CMake](https://cmake.org/download/) -* A C++ compilation toolchain (GPU-capable for GPU builds, e.g. [nvcc](https://developer.nvidia.com/cuda-downloads), [clang]() or [rocmcc](https://rocm.docs.amd.com/en/docs-5.0.2/reference/rocmcc/rocmcc.html)) -* MPI (GPU-aware if building for GPUs) - -### Optional requirements -* FFTW -* CuFFT - -## Compilation -IPPL is a CMake Project and can be configured by passing options in CMake syntax: -``` -cmake -D