Skip to content

A series of tutorials showing how to use Docker to set up a software development environment focused on scientific computing in a easy and reliable way.

License

Notifications You must be signed in to change notification settings

brenerrr/docker_for_scientific_computing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Docker for Scientific Computing: A Comprehensive Guide

Have you ever lost a bunch of time figuring out tons of dependencies to run your scientific computing application? Maybe you're trying to compile a code written 40 years ago that only works with a compiler version not available in your current OS (true story). After weeks, you finally make it work. You implement a super useful functionality and your peer asks if they can give it a go. Now they better really want to give it a go since they will have to go through all the hassle you went through to install everything required. Or maybe you simply have a new computer and need to install everything again.

Well, what if I told you that after setting things up just once, you could reliably always load this environment with all required dependencies with a single command and all you would need is a single software called Docker?

This repository contains a series of tutorials showing how to use Docker to easily create a software development environment focused on scientific computing. After going through all chapters, you will be able to launch an environment containing all dependencies you want, independent of your operating system's type and version, with a single command. You will be able to use Windows and execute code that uses OpenMPI and CUDA developed on Linux without having to install anything. It seems like magic, but it is just the power of containers.

Although not strictly necessary, I recommend going through all chapters in order.

  1. First Things First
  2. Getting Started with Docker Containers
  3. Volumes
  4. Graphical Applications
  5. MPI
  6. CUDA
  7. Creating Your Own Image
  8. Integration with VS Code
  9. Wrap it Up

Comments and suggestions are welcome. If you have any feel free to open an issue.

Dockerfiles Repository

I also intend to steadily add Dockerfiles for images targeting specific software. Those are listed below.

  1. Amber Molecular Dynamics
  2. CGNS
  3. FLOWUnsteady

About

A series of tutorials showing how to use Docker to set up a software development environment focused on scientific computing in a easy and reliable way.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published