Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doku:python [2023/08/25 07:32] jzdoku:python [2024/03/19 14:24] (current) katrin
Line 3: Line 3:
 Previously we recommended using spack python packages, however we decided to deprecate this approach since it is much easier and user friendly to use '''conda''' which is already widely known.  Previously we recommended using spack python packages, however we decided to deprecate this approach since it is much easier and user friendly to use '''conda''' which is already widely known. 
  
-The documentation is currently in the process of being revised. For now please either use the old information that is still available OR use the new quickstart guide below.+Have a look at the new **quickstart guide** below or the material from the python4hpc training: [[https://gitlab.tuwien.ac.at/vsc-public/training/python4hpc|python4hpc public repo]].
  
-===== (Conda) Quickstart =====+The old approach is now //deprecated// but kept on this page for reference.
  
-To install a new environment start with creating an environment yaml file and store it in a safe location (ideally in your source code repository). This step is optional but we really recommend it so you and everyone in your team is able to produce the same python environment.+===== Quickstart: Using Python with Conda ===== 
 + 
 +To install a new environmentstart with creating an **environment yaml file** and store it in a safe location (ideally in your source code repository).  
 + 
 +This step is optional but we really **recommend** it so you and everyone in your team is able to produce the same python environment. 
 + 
 +To find valid conda package names look at [[https://anaconda.org/search|Anaconda repo package search]]. 
 + 
 +Example (add your own packages below dependencies):
 <code> <code>
 name: my-env name: my-env
 +channels:
 +  - conda-forge
 +  - defaults
 dependencies: dependencies:
   - python=3.10   - python=3.10
-  - tensorflow-gpu=2.6.0+  - tensorflow=2.15.0
 </code> </code>
  
-Afterwards you can then use conda like this:+You can the install your environment by using the following commands:
  
 <code> <code>
Line 27: Line 38:
 # create your environment via environment file # create your environment via environment file
 # this will place the environment in your ~/.conda/envs folder # this will place the environment in your ~/.conda/envs folder
-# note: make sure to use "conda >env< create" - "conda create" is a different command +# note:  
-(base) $ conda env create -n my-env --file my_env.yaml+#  - make sure to use "conda >env< create" - "conda create" is a different command 
 +#  - the name is taken from the yaml file; a custom name can be specified with "-n my-custom-name"  
 +(base) $ conda env create --file my_env.yaml
  
 # after creation you can activate the environment to run code in it # after creation you can activate the environment to run code in it
Line 44: Line 57:
  
 #SBATCH --job-name=slurm_conda_example #SBATCH --job-name=slurm_conda_example
-#SBATCH --time 00-00:05:00+#SBATCH --time=00-00:05:00
 #SBATCH --ntasks=2 #SBATCH --ntasks=2
 #SBATCH --mem=2GB #SBATCH --mem=2GB
Line 61: Line 74:
 </code> </code>
  
-==== FAQ ====+===== More info about Conda ===== 
 + 
 +For more information about conda check-out the conda notebook of the python4HPC training material: [[https://gitlab.tuwien.ac.at/vsc-public/training/python4hpc/-/blob/main/D1_02_env_03_conda.ipynb|python4HPC Conda Environments]] 
 + 
 +===== FAQ =====
  
   * **'''eval "$(conda shell.bash hook)"''' fails with '''CommandNotFoundError ...'''**   * **'''eval "$(conda shell.bash hook)"''' fails with '''CommandNotFoundError ...'''**
Line 67: Line 84:
 Make sure to use the currently provided '''miniconda3''' module via '''module load miniconda3''' Make sure to use the currently provided '''miniconda3''' module via '''module load miniconda3'''
  
-  * **I dont get the right python version and packages** / **I see the error '''ModuleNotFoundError: No module named "conda"''' in my slurm job logfile** - **What is wrong>?**+  * **I dont get the right python version and packages in my slurm batch file environment** - **What is wrong>?**
  
-The default for sbatch is to use the current user environment and start the job in the context of this environmentSince conda is depending on environment variables being setup correctly you need to make sure to start the job script from a clean environment. +Make sure that one of the first things in your sbatch script is loading the miniconda3 package '''module load miniconda3''' and that you execute '''eval "$(conda shell.bash hook)"''' before using any other conda commands. 
 + 
 +  * **I don't get GPU/CUDA enabled packages when installing a conda environment** / **I get conda installation errors when i select GPU/CUDA enabled builds for my conda environment*** 
 + 
 +In order to install packages from conda-forge that require CUDA on machine that does not have GPUs you have to set an environment variable before creating the conda environment: 
 +<code> 
 +name: my-pytorch-gpu-env 
 +channels: 
 +  - pytorch 
 +  - conda-forge 
 +  - defaults 
 +dependencies: 
 +  - python=3.12 
 +  - pytorch=2.2.*=*cuda11.8* 
 +</code> 
 + 
 +<code> 
 +# for example if you use cuda 11.8 
 +CONDA_OVERRIDE_CUDA="11.8" conda env create -n my-pytorch-gpu-env --file my-pytorch-gpu-env.yaml 
 +</code>
  
-Alternatively you can also use sbatch with the '''--export=NONE''' argument from commandline or add an sbatch directive in your job script: "#SBATCH --export=NONE" 
  
 ====== Deprecated Information (work in progress) ====== ====== Deprecated Information (work in progress) ======
Line 225: Line 260:
 <code> <code>
 conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
 +</code>
 +
 +
 +As of 2023-08-25: you can also install the current pytorch version with an older cuda version via:
 +<code>
 +conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c nvidia
 </code> </code>
  
  • doku/python.1692948726.txt.gz
  • Last modified: 2023/08/25 07:32
  • by jz