Git Product home page Git Product logo

Comments (4)

jonakarl avatar jonakarl commented on June 16, 2024 1

Hi,

Thanks for the quick answer. I think I was a bit unclear (sorry for that).

We are running docker and we are basing our work on top of docker-stacks (datascience notebook to be exact)
Our current approach is to (code here if interested https://git.cs.kau.se/jonakarl/jupyterhub) :

  1. Create a custom container based on the datascience-notebook
  2. Patch the build scripts of nvidia-container to use our image (in step 1) instead of ubuntu20.04 (datasceince notebook also uses ubuntu20.04)

While it works step 2 is hacky at best and not very clean.
Therefore we are evaluating to instead base our custom image on top of your image or alternatively install cudatoolkit and add the ENV variables + possible xtras needed to make it run as a GPU container.
I guess the "possible xtras" is the key, how much "magic" do you or nvidia do to make it work :-)

from gpu-jupyter.

jonakarl avatar jonakarl commented on June 16, 2024 1

Thanks for the valuable input.

Closing this now as I think I have all info I need, will play a little with the options.

from gpu-jupyter.

ChristophSchranz avatar ChristophSchranz commented on June 16, 2024

Good question!

An installation on top of Anaconda is also a good choice and will provide the same or at least similar packages.
From my point of view, these are the main advantages of using GPU-Jupyter (or a similar option):

  • The toolstack for data science, analytics and scientific computing is based on jupyter/docker-stacks which is very robust and provides some additional selected packages. One can also change the underlying stack, e.g., the full option here is based on the docker-stack's datascience-notebook that provides the Julia language and R for collaborative work.
  • Dockerhub stores pre-built images with already installed GPU-libraries. Pulling and running Images from Dockerhub is usually faster and simpler than manually installing them.
  • Docker comes with additional advantages: Many prefer solutions in Docker as one can easily define and modify the installation of a setup. This is especially interesting for the scientific community, because it makes it easy to share a specific setup on which experiments were executed.

from gpu-jupyter.

ChristophSchranz avatar ChristophSchranz commented on June 16, 2024

While it works step 2 is hacky at best and not very clean.

That was also the reason for me to build the docker-stack on top of nvidia-supported image. There are multiple ways to get to a good solution. This repo provides one that suits for many common applications and is intended for an easy setup and customization.

Therefore we are evaluating to instead base our custom image on top of your image or alternatively install cudatoolkit and add the ENV variables + possible xtras needed to make it run as a GPU container.
I guess the "possible xtras" is the key, how much "magic" do you or nvidia do to make it work :-)

I think a proper option would be to just fork this repo and do all necessary changes. Custom ENV variables can be placed, e.g., into the docker-compose.yml. Possible xtra installations should be placed into src/Dockerfile.usefulpackages. Make also to remove unused packages from this file if wanted.

The >best< setup depends a lot on the actual use case. Therefore, the src/Dockerfile.usefulpackages is separated to enable customization for a specific use case, based on a robust GPU and data science toolstack.

from gpu-jupyter.

Related Issues (20)

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.