Kaggle / Kaggle/docker-python

Efficiently Setting Up Dependencies for Karpathy's llm.c on Kaggle: Seeking Guidance

Open
#1,416 0 comments 0 reactions 1 assignee Claimed by @calderjo View on GitHub
new-package
Dominant language
Python
Stars
2.7k
Forks
1k
Avg merge
7d 14h
Merged PRs (30d)
2

Description

## Hello Kaggle! 😊

I wasn't sure where the best place to ask something like this was, so I hope it's okay to open this GitHub issue.

### Objective

I want to compile and run Andrej Karpathy’s code from [this repository](https://github.com/karpathy/llm.c).

### Requirements

To achieve this, I need to install the following dependencies:

```bash
sudo apt-get -y install nvidia-cuda-toolkit
sudo apt install libnccl2 libnccl-dev
sudo apt-get update
sudo apt-get install libnvtoolsext1
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install nvidia-cuda-toolkit
sudo apt-get -y install libcudnn9-dev-cuda-12
sudo apt install libnccl2 libnccl-dev
pip install tiktoken # This is used to tokenize the data to be passed into llm.c
```

Additionally, the instructions specify that I need to clone [this repository](https://github.com/NVIDIA/cudnn-frontend/tree/main) into my home directory.

### Dockerfile Concerns

I have looked into adding the above dependencies into the `Dockerfile.tmpl`, but I found the following lines in there:

```dockerfile
# Make sure we are on the right version of CUDA
RUN update-alternatives --set cuda /usr/local/cuda-$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION
# NVIDIA binaries from the host are mounted to /opt/bin.
ENV PATH=/opt/bin:${PATH}
```

It seems like the convention is NOT to use `apt-get install` here. Am I able to install the above dependencies (e.g., `nvidia-cuda-toolkit`, etc.) in this Dockerfile? What are your thoughts?

### Current Issue

At the moment, I have to install all the dependencies each time I start up the notebook, which is incredibly slow and tedious, as you can imagine.

### Compilation Method

I am using a method similar to [this notebook](https://www.kaggle.com/code/anjum48/running-c-in-notebooks) to compile and run Karpathy’s code.

### Thanks!

Thank you so much for Kaggle! 😄😄

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.