diff --git a/docs/source/coding.rst b/docs/source/coding.rst new file mode 100644 index 00000000..208bb939 --- /dev/null +++ b/docs/source/coding.rst @@ -0,0 +1,19 @@ +.. _coding: + +************* +Code Overview +************* + +This section aims to provide information and advice for developers who want to +get started using and modifying the gprMax code. + +The code has been written in Python (3.x) with performance-critical parts, i.e. +the FDTD solver, written using Cython (for CPU) or the NVIDIA CUDA programming +model (for GPU). Cython allows the CPU-based solver to be parallelised using +OpenMP which enables it to run on multi-core CPUs. gprMax also features a +Messaging Passing Interface (MPI) task farm, which can operate with CPU nodes or +multiple GPUs. + +.. figure:: images/code_overview.png + + Basic, high-level overview of the flow of control (operation) of the code. diff --git a/docs/source/images/code_overview.png b/docs/source/images/code_overview.png new file mode 100644 index 00000000..13d4aa87 Binary files /dev/null and b/docs/source/images/code_overview.png differ diff --git a/docs/source/index.rst b/docs/source/index.rst index 96e5dc28..6e2afe9d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -57,6 +57,7 @@ gprMax User Guide faqs screencasts + coding .. toctree:: :maxdepth: 2 @@ -71,4 +72,3 @@ gprMax User Guide :caption: Appendices references -