
Conda applications that require MPI cannot use the centrally provided MPI installations with are compiled with support for the LSF batch system.
We provide a large number of centrally installed software available to all cluster users ( Euler, Leonhard), that conda cannot use and therefore conda will install a large number of packages which are already available on the cluster. Lustre uses striping to distribute files across multiple OST's for better performance, but striping files smaller than 4 MB leads in many cases to noticeably slower read/write performance due to server contention. Lustre reads/writes data in blocks of 4 MB. A typical Anaconda installation easily contains 100k-200k small files with an average file size of a few KB, Miniconda installations still contain around 60k small files. Due to reading many small files when starting an application that was installed with conda there will creating unnecessary load on the metadata servers which slows down the entire file system and therefore also affects other users computations.
Parallel high-performance file systems as Lustre (/cluster/scratch, /cluster/work) are optimized for large files (>4 MB), see best practices on Lustre. Starting an application that was installed using conda will read many files compared to doing the same installation without conda and due to the large latency compared to a local SSD this process will be very slow. HPC file systems are attached via network to the cluster and therefore have a latency, which is about two orders of magnitude larger than when working on a local SSD. Reasons to not use conda on an HPC file system On a fast harddrive or SSD you won't notice any performance issues when using conda. When you would like to install software on your local computer that is difficult to install, then conda is a neat solution for resolving this. It was created for Python programs, but it can package and distribute software for any language.
Conda easily creates, saves, loads and switches between environments on your local computer. Conda quickly installs, runs and updates packages and their dependencies.
5.2 Installations with non-Python dependenciesĬonda is an open source package management system and environment management system that runs on Windows, macOS and Linux. 3 Reasons to not use conda on an HPC file system.