Skip to content
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

Add gpu implementation #23

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

Add gpu implementation #23

wants to merge 5 commits into from

Conversation

benjeffery
Copy link
Member

WIP - Code now produces the same mutations, next step is to get that working on actual hardware. Hitting version issues with CUDA/cudatoolkit.

@benjeffery
Copy link
Member Author

benjeffery commented Jun 1, 2022

Got this working on actual hardware (RTX3060)! Currently seems to be running at the same speed as the vectorised CPU, pretty sure I'm not using the GPU correctly yet though, and still have a few ifs that can be removed.

@benjeffery
Copy link
Member Author

Quick update here, turns out that the number of sites in a chunk was limited to 10! It seems this was put in place to make the CPU versions finish in good time?
With the current VRAM usage we can fit 500 sites in parallel. This brings us to 10x the speed of the numba vectorised implementation per-site.

@bhaller
Copy link

bhaller commented Jun 2, 2022

@benjeffery after you're done with this, could you make SLiM run on GPUs too? Kthxbye.

@benjeffery
Copy link
Member Author

@benjeffery after you're done with this, could you make SLiM run on GPUs too? Kthxbye.

I'll send over my (exorbitant) consultancy price list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants