-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TEST: use Github based GPU instance for CI #183
Conversation
✅ Deploy Preview for incomparable-parfait-2417f8 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
This reverts commit 6b3a167.
@mmcky Everything looks good now? I can remove the commented cache code. |
@kp992 I still don't have a good undertanding of why we can't just setup anaconda directly on the instance (rather than using a docker container). Any insights into why the kernel keeps dying in that context? |
Thanks @mmcky, I will try to setup it and check. |
@mmcky I waited for about 18 mins but seems like all the machines are busy. This can be a tricky problem to solve if we would depend on GA actions job. I cancelled it for now as I didn't want it to keep it running because that I am experimenting and runtime may go high. |
@kp992 thanks for trying some things out however 2ff9298 still uses a docker container which is not required. If you take a look at most of our github actions workflows then you can see we don't use a docker container in most of them. That is what I am proposed as the docker download takes a long time. |
Thanks @mmcky, I'm also trying to find that approach. I was verifying that we somehow need to install cuda. One of the approach is through docker as seen. I will try with conda. |
Hmm, its not working. The best way I think is to use the docker that you have made (existing |
@kp992 can we build the docker image on GitHub actions and then cache it from another repo? I build the image https://github.com/quantecon/lecture-python.docker and then sync it to docker hub. But if we can save it as an asset in QuantEcon GitHub then we can pull it locally which should be quicker. |
I am trying to do the same, but, for a single repo. For example check the last two commits of this PR which have Github actions run: https://github.com/QuantEcon/lecture-jax/actions/runs/9258083875/job/25555094247 (first run) and https://github.com/QuantEcon/lecture-jax/actions/runs/9287258102/job/25555816581(second run). First run took about 13m and the second one about 11m so we are saving 2 mins. I think we can also optimize the Anaconda setup by including it in the docker itself which you have done in https://github.com/quantecon/lecture-python.docker. I will try it and see the results. |
https://github.com/QuantEcon/lecture-jax/actions/runs/9339691234/job/25704378502 took about 34 mins to load our docker which is very high compared to pulling nvidia docker and setting up conda differently which took about 13 mins. |
@kp992 I suspect the nvidia docker is cached as a I think they are similar GB sizes. I was wantign to see if we can cache our docker container as a GitHub asset to improve on this. Do you know if this is possible -- we build that container on github and then send it to dockerhub but a local asset might be a better way to go if there is a local registry. |
Hmm, I am not aware of anything like that. I guess Github provides about 10 GB of caching where we can use our pulled docker container to be saved in .zip file and pull it whenever we run it next time. Since, docker won't be updated very frequently, it is maintainable too. |
@kp992 rather than managing cache objects ourselves (as they usually expire after 1 month of inactivity) I was thinking of using the github registry for the docker container. Is this feasible? |
Built on top of #181
Use Github Actions GPU instance on CI.