====== Popular Libraries for Scientific Computing, Machine Learning, and Data Science ====== This document provides an overview of widely used libraries across various domains such as scientific computing, machine learning, data science, and high-performance computing, available on the unite cluster. ---- ===== Compiler Libraries ===== * **[[https://gcc.gnu.org | GCC (GNU Compiler Collection)]]** - Domain: Compiler - Description: GCC is a collection of compilers for various programming languages, including C, C++, and Fortran. It's essential for compiling code in high-performance computing and software development. * **[[https://llvm.org | LLVM]]** - Domain: Compiler Infrastructure - Description: LLVM is a collection of modular and reusable compiler and toolchain technologies. It’s used for developing compilers, optimizers, and other code analysis tools. ===== GPU Computing & Deep Learning ===== * **[[https://developer.nvidia.com/cuda-zone | CUDA]]** - Domain: GPU Computing - Description: CUDA is a parallel computing platform and application programming interface model created by NVIDIA. It allows developers to utilize GPUs for general-purpose processing. * **[[https://developer.nvidia.com/cudnn | cuDNN]]** - Domain: Deep Learning - Description: cuDNN is a GPU-accelerated library for deep neural networks. It's optimized for high performance on NVIDIA hardware and is widely used in machine learning and AI applications. * **[[https://pytorch.org | PyTorch]]** - Domain: Machine Learning - Description: PyTorch is an open-source machine learning library based on the Torch library. It is widely used in deep learning and research due to its flexibility and ease of use. * **[[https://www.tensorflow.org | TensorFlow]]** - Domain: Machine Learning - Description: TensorFlow is an open-source platform for machine learning. It provides a comprehensive ecosystem of tools, libraries, and community resources to facilitate the development of ML models. ===== Scientific Computing & Numerical Libraries ===== * **[[https://www.gnu.org/software/gsl | GSL (GNU Scientific Library)]]** - Domain: Mathematics & Numerical Computation - Description: GSL is a collection of numerical routines for scientific computing, including statistics, linear algebra, and numerical integration. * **[[http://www.fftw.org | FFTW]]** - Domain: Signal Processing - Description: FFTW is a C library for computing discrete Fourier transforms (DFT). It is highly efficient and widely used for signal processing and numerical simulations. * **[[https://www.hdfgroup.org/solutions/hdf5 | HDF5]]** - Domain: Data Storage - Description: HDF5 is a file format and set of tools for storing and managing large amounts of data. It's commonly used in scientific computing for high-volume data storage. * **[[https://numpy.org | NumPy]]** - Domain: Scientific Computing & Data Science - Description: NumPy is the fundamental package for numerical computing in Python. It provides support for large multi-dimensional arrays and matrices, along with a collection of mathematical functions to operate on these arrays. * **[[https://scipy.org | SciPy]]** - Domain: Scientific Computing - Description: SciPy is a Python library used for scientific and technical computing. It builds on NumPy and provides a collection of algorithms for optimization, integration, interpolation, eigenvalue problems, and more. * **[[http://www.netlib.org/lapack | LAPACK]]** - Domain: Linear Algebra - Description: LAPACK is a library for solving linear algebra problems such as systems of linear equations, least squares problems, eigenvalue problems, and singular value decomposition. * **[[https://www.openblas.net | OpenBLAS]]** - Domain: Linear Algebra - Description: OpenBLAS is an optimized BLAS (Basic Linear Algebra Subprograms) library that provides highly optimized matrix operations and is used for high-performance numerical computing. ===== High-Performance Computing (HPC) ===== * **[[http://icl.cs.utk.edu/magma | MAGMA]]** - Domain: Linear Algebra & HPC - Description: MAGMA is a library for high-performance linear algebra routines on multi-core and multi-GPU systems. It's a key tool in high-performance computing (HPC) applications. * **[[https://www.mpich.org | MPICH]]** - Domain: Parallel Computing - Description: MPICH is an implementation of the Message Passing Interface (MPI) standard for parallel computing. It is widely used in high-performance parallel applications. * **[[https://www.open-mpi.org | OpenMPI]]** - Domain: Parallel Computing - Description: OpenMPI is an open-source implementation of the Message Passing Interface (MPI) for parallel and distributed computing. It is used in high-performance computing environments for multi-node computations. ===== Data Science & Data Manipulation ===== * **[[https://pandas.pydata.org | Pandas]]** - Domain: Data Science - Description: Pandas is a fast, powerful, flexible, and easy-to-use data analysis and manipulation library for Python. It’s used extensively in data science and data analysis. * **[[https://www.python.org | Python]]** - Domain: Programming Language - Description: Python is a versatile, high-level programming language that is widely used in web development, data science, automation, machine learning, and more.