Efficiently Setting Up Dependencies for Karpathy's llm.c on Kaggle: Seeking Guidance
@calderjo is already working on this.
Since Oct 2, 2024.
Assessment
This issue has not been assessed yet.
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.
Requirements
To achieve this, I need to install the following dependencies:
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 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:
# 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 to compile and run Karpathy’s code.
Thanks!
Thank you so much for Kaggle! 😄😄
- Dominant language
- Python
- Stars
- 2.7k
- Forks
- 1k
- Avg merge
- 5h 55m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Kaggle/docker-python
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Kaggle/docker-python#1482 · 2 reactions ·
-
ذ Open
Difficulty 5/5 Over a week Newbie friendliness 1/100
Kaggle/docker-python#1555 ·
-
bug help wanted
Difficulty 4/5 3-5 days Newbie friendliness 42/100
Kaggle/docker-python#1546 · 4 comments · 2 reactions ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Kaggle/docker-python#1515 ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
Kaggle/docker-python#1506 · 1 reaction ·
All issues in Kaggle/docker-python
Similar issues
-
bug confirmed issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
open-webui/open-webui#30750 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 90/100