All Projects → gpuhackathons-org → gpubootcamp

gpuhackathons-org / gpubootcamp

Licence: Apache-2.0 License
This repository consists for gpu bootcamp material for HPC and AI

Programming Languages

Jupyter Notebook
11667 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
fortran
972 projects
Cuda
1817 projects

Projects that are alternatives of or similar to gpubootcamp

Training Material
A collection of code examples as well as presentations for training purposes
Stars: ✭ 85 (-62.56%)
Mutual labels:  hpc, gpu, openmp, mpi
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (-26.87%)
Mutual labels:  hpc, gpu, openmp, cuda
pyccel
Python extension language using accelerators
Stars: ✭ 189 (-16.74%)
Mutual labels:  hpc, openmp, mpi, openacc
allgebra
Base container for developing C++ and Fortran HPC applications
Stars: ✭ 14 (-93.83%)
Mutual labels:  hpc, gpu, openmp, cuda
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+1.32%)
Mutual labels:  hpc, gpu, openmp, cuda
libquo
Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications
Stars: ✭ 21 (-90.75%)
Mutual labels:  hpc, openmp, mpi
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (-68.72%)
Mutual labels:  hpc, gpu, cuda
Hiop
HPC solver for nonlinear optimization problems
Stars: ✭ 75 (-66.96%)
Mutual labels:  hpc, mpi, cuda
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+622.91%)
Mutual labels:  hpc, gpu, cuda
Onemkl
oneAPI Math Kernel Library (oneMKL) Interfaces
Stars: ✭ 122 (-46.26%)
Mutual labels:  hpc, gpu, cuda
yask
YASK--Yet Another Stencil Kit: a domain-specific language and framework to create high-performance stencil code for implementing finite-difference methods and similar applications.
Stars: ✭ 81 (-64.32%)
Mutual labels:  hpc, openmp, mpi
Arrayfire Rust
Rust wrapper for ArrayFire
Stars: ✭ 525 (+131.28%)
Mutual labels:  hpc, gpu, cuda
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (+57.71%)
Mutual labels:  hpc, gpu, cuda
wxparaver
wxParaver is a trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures.
Stars: ✭ 23 (-89.87%)
Mutual labels:  hpc, openmp, mpi
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+1526.87%)
Mutual labels:  hpc, gpu, cuda
mbsolve
An open-source solver tool for the Maxwell-Bloch equations.
Stars: ✭ 14 (-93.83%)
Mutual labels:  hpc, openmp, cuda
Batch Shipyard
Simplify HPC and Batch workloads on Azure
Stars: ✭ 240 (+5.73%)
Mutual labels:  hpc, gpu, mpi
FGPU
No description or website provided.
Stars: ✭ 30 (-86.78%)
Mutual labels:  gpu, openmp, cuda
MatX
An efficient C++17 GPU numerical computing library with Python-like syntax
Stars: ✭ 418 (+84.14%)
Mutual labels:  hpc, gpu, cuda
claw-compiler
CLAW Compiler for Performance Portability
Stars: ✭ 38 (-83.26%)
Mutual labels:  hpc, openmp, openacc

License GitHub release (latest by date including pre-releases) GitHub issues

GPUBootcamp Official Training Materials

GPU Bootcamps are designed to help build confidence in Accelerated Computing and eventually prepare developers to enroll for Hackathons

This repository consists of GPU bootcamp material for HPC, AI and convergence of both:

  • HPC :: The bootcamp content focuses on how to follow the Analyze, Parallelize and Optimize Cycle to write parallel codes using different parallel programming models accelerating HPC simulations.
Lab Description
N-Ways This Bootcamp will cover multiple GPU programming models and choose the one that best fits your needs. The material supports different programming langauges including C ( CUDA C, OpenACC C, OpenMP C, C++ stdpar ), Fortran ( CUDA Fortran, OpenACC Fortran, OpenMP Fortran, ISO DO CONCURRENT ) Python ( Numba, CuPy )
OpenACC The Bootcamp will cover how to write portable parallel program that can run on multicore CPUs and accelerators like GPUs and how to apply incremental parallelization strategies using OpenACC
Multi GPU Programming Model This bootcamp will cover scaling applications to multiple GPUs across multiple nodes. Moreover, understanding of the underlying technologies and communication topology will help us utilize high-performance NVIDIA libraries to extract more performance out of the system
  • Convergence of HPC and AI :: The bootcamp content focuses on how AI can accelerate HPC simulations by introducing concepts of Deep Neural Networks, including data pre-processing, techniques on how to build, compare and improve accuracy of deep learning models.
Lab Description
Weather Pattern Recognition This Bootcamp will introduce developers to fundamentals of AI and how data driven approach can be applied to Climate/Weather domain
CFD Flow Prediction This Bootcamp will introduce developers to fundamentals of AI and how they can be applied to CFD (Computational Fluid Dynamics)
PINN This Bootcamp will introduce developers to fundamentals of using Physics Informed Neural Network and how they can be applied to different scientific domains using Nvidia SimNet
  • AI:: The bootcamp content focuses on using popular accelerated AI frameworks and using optimization techniques to get max performance from accelerators like GPU.
Lab Description
Accelerated Intelligent Video Analytics Learn how Nvidia DeepStream SDK can be used to create optimized Intelligent Video Analytics (IVA) pipeline. Participants will be exposed to the building blocks for creating IVA pipeline followed by profiling exercise to identify hotspots in the pipeline and methods to optimize and get higher throughput
Accelerated Data Science Learn how RAPIDS suite of open source software libraries gives you the freedom to execute end-to-end data science and analytics pipelines entirely on GPUs. Participants will be exposed to using libraries that can be easily integrated with the daily data science pipeline and accelerate computations for faster execution
Distributed Deep Learning This bootcamp will introduce participants to fundamentals of Distributed deep learning and give a hands-on experience on methods that can be applied to Deep learning models for faster model training

System Requirements

Each lab contains docker and singularity definition files. Follow the readme files inside each on how to build the container and run the labs inside it.

Contribution

  • The repository uses Apache 2.0 license. For more details on folder structure developers may refer to CONTRIBUTING.md file.
  • A project template for reference is located at Template

Authors and Acknowledgment

See Contributors for a list of contributors towards this Bootcamp.

Feature Request or filing issues

  • Bootcamp users may request for newer training material or file a bug by filing a github issues
  • Please do go through the existing list of issues to get more details of upcoming features and bugs currently being fixed Issues

General Troubleshooting

  • All materials developed are tested with latest GPU Architectures (V100, A100). Most labs unless specified explicitly are expected to work even on older GPU architectures and with lesser compute and memory capacity like the one present even in laptops. There will be change in performance results observed based on GPU used. In case you see any issue using the material on other GPU please file an issue in Github mentioning the details of GPU and CUDA Driver version installed.
  • The material developed are tested inside container environment like Docker and Singularity. In case the users don't have container environment in the cluster, they can explicitly look at the steps mentioned in the Dockerfile and Singularity scripts and install the dependenciesmanually.
  • All bootcamps are jupyter based and by default the Dockerfile and Singularity script runs the jupyter notebook at port 8888. In a munti-tenancy environment the admins are requested to explicitly map the ports to individual users else will result into port conflict issues. We recommend having installations of interactive interface to remote computing resources like Open OnDemand or JupyterHub coupled with scheduler (SLURM, Kubernetes etc ) to do these resources mapping automatically.

Join OpenACC Community

Please join OpenACC Slack Channel.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].