From b1721d6949017ecac4f1fb7b4e0dd79f97a46a36 Mon Sep 17 00:00:00 2001 From: Cory Date: Tue, 21 Nov 2023 11:26:37 +0100 Subject: [PATCH] Remove things related to Penning trap project --- README.md | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26905db..1b277fb 100644 --- a/README.md +++ b/README.md @@ -1 +1,129 @@ -# Ising model +# Ising Model + +[Repo](https://github.uio.no/FYS3150-G2-2023/Project-4) + +[Documentation](https://pages.github.uio.no/FYS3150-G2-2023/Project-4/) + +## Requirements + +### Operating systems + +- Linux + - Has been tested on [Fedora 38](https://fedoraproject.org/) + - Will most likely work on other Linux distributions +- MacOS + - Might work, but hasn't been tested +- Windows + - Will most likely not work + +### Tools + +- Profiling + - [gprof](https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html) + - [scalasca](https://www.scalasca.org/) + - [score-p](https://www.vi-hps.org/projects/score-p) + +### Libraries + +- Python + - [matplotlib](https://matplotlib.org/) + - [numpy](https://numpy.org/) + +- C++ + - [Openmp](https://www.openmp.org/) + - [OpenMPI](https://www.open-mpi.org/) + - [Armadillo](https://arma.sourceforge.net/) + + +## Compiling + +Compiling is as easy as running this command while being inside the src directory: + +```shell + make +``` + +## Running programs + +### C++ binaries + +To run **main** or **test_suite**, just run this command while being inside src: + +```shell + ./ +``` + +### Python scripts + +#### Install libraries + +Before running the scripts, make sure that all libraries are installed. +Using pip, you can install all requirements like this: + +```shell + pip install -r requirements.txt +``` + +This recursively install all the packages that are listed in **requirements.txt**. + +#### Running scripts + +For the Python scripts, run them from the src directory like this: + +```shell + python scripts/ +``` + +If you have any problems running the scripts, you might have to run this instead: + +```shell + python3 scripts/ +``` + +### Batch system + +For the **phase_transition_mpi** program, there are scripts in the **src/jobs** +directory that come along with it. This is to be able to run it on a +batch system using Slurm if you have access to one. +This is the recommended way to use this program as it takes approximately 90 +minutes to complete when using 8 processes where each process has 10 threads. + +If you happen to have such a system available to you, then you should clone +this repo on that system, then compile it by running: + +```shell + make phase_transition_mpi +``` + +You might have to load the Armadillo library using the **module** system before compiling. + +After compiling, you can schedule it by running: + +```shell + sbatch jobs/ +``` + +## Performance + +This section aims to give an idea to the time it takes for the program to +run so that you know a bit what to expect if you decide to run it for +yourself. + +### CPU + +The times mentioned here are times achieved on a computer with these +specifications: + +- CPU model + - Intel i7-9850H +- Threads + - 12 +- Clock speed + - 4.6GHz + +### Times + +## Credits + +The Doxygen theme used here is +[doxygen-awesome-css](https://github.com/jothepro/doxygen-awesome-css).