From 28de076911a4cde56677d4ee8937f4c2d7595266 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Mon, 13 Jan 2025 16:22:25 +0000 Subject: [PATCH] feat: added usage instruction to readme, numba to requirements and generated report with fixed info about mpi --- README.md | 23 +++++++++++++++++++++++ code/requirements.txt | 3 ++- report/first_part/main.pdf | Bin 64632 -> 64620 bytes 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..a8a0487e --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +cd code + +pyenv init + +COPY AND PASTE PYENV CONFIGURATION TO YOUR SHELL CONFIG + +source ~/.zshrc (or your shell) + +pyenv install 3.11 + +pyenv global 3.11 + +Ensure that python DID change its version + +python --version + +python -m venv ./venv + +source ./venv/bin/activate + +pip install -r requirements.txt + +python main.py diff --git a/code/requirements.txt b/code/requirements.txt index 95d5e87f..72bf1c03 100644 --- a/code/requirements.txt +++ b/code/requirements.txt @@ -1,3 +1,4 @@ scipy pytest -dask \ No newline at end of file +dask +numba \ No newline at end of file diff --git a/report/first_part/main.pdf b/report/first_part/main.pdf index 2268fb0b6fac21b514600983882a8c64697a4d0e..6f37e13e94d32c38a16a5ee876158838e333d217 100644 GIT binary patch delta 17126 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 delta 17151 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 F0RW~~I+Xwb