Coder Social home page Coder Social logo

podman_ml_containers's Introduction

podman_ml_containers

Description

This is a collection of Dockerfiles and utility scripts for use with podman to facilitate ML research. I was motivated to create these for running various iterations of projects that depended on older CUDA versions. The containers are set up for X forwarding and can run opengl applications as they are based on the nvidia opengl containers, rather than solely the CUDA containers.

Instructions

  1. Install podman and nvidia-container-toolkit
dnf install podman
dnf config-manager --add-repo https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo
dnf install nvidia-container-toolkit
  1. Set up OCI hooks
https://github.com/NVIDIA/nvidia-container-runtime/issues/85#issuecomment-604931556
https://github.com/containers/libpod/issues/3155
  1. Run build_container.sh

  2. Run start_container.sh

Caveats/things of note

  • Podman can be run rootless, but nvidia-docker requires use of sudo/--privileged
  • A mock home directory is created in $(pwd)/.containers/$USER, so your virtual environments should remain rootless
  • Make sure your DISPLAY variable is set correctly
  • Some of the containers contain unnecessary packages related to my personal setup/preferences
  • /etc/group and /etc/passwd are forwarded into the container to share the local X server, which has the consequence of preventing the use of apt inside the container
  • You cannot directly use apt in the container due to forwarding /etc/group, which leads to:
dpkg: unrecoverable fatal error, aborting:
 unknown group 'messagebus' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)
  • Forwarding /etc/passwd into the container causes a harmless error message (No user _apt) in the container

podman_ml_containers's People

Contributors

mjlbach avatar q11bul avatar

Stargazers

Daniel Yohan avatar David Cardozo avatar  avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.