-
Notifications
You must be signed in to change notification settings - Fork 60
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
Gpu code #58
Open
abouzied-nasar
wants to merge
137
commits into
SWIFTSIM:master
Choose a base branch
from
abouzied-nasar:gpu_code
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Gpu code #58
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ded cuda and hip Makefile.ac
…rc/cuda/part_gpu.h
… not being found by the cuda library
… b to stop an error related to prototype overloading in dummy.c in src/cuda
… task.c and h queue.h and removed unused vars from runner_doiact_functions_hydro_gpu.h
…n main dir instead of src
…off because I have not made gpu tasks yet
…Not sure where the issue is
… tasks. Code now hangs so there must be some issue with task activation. problem for tomorrow!
This is the current state of the gpu code as implemented in the latest SWIFT version. It's not working properly yet as I think there is an issue with the GPU task activation (the code hangs before the first time step) and I need to implement a mechanism for creating deps for unpack tasks whic do not belong to a cell |
…ave been source of hanging bug. Not the case :(
… deps for unpack tasks. CPU version works perfectly but GPU code now hangs for some reason
…gpu and re-worked runner_main_clean.cu but code still hangs
…gpu and re-worked runner_main_clean.cu but code still hangs
…. Removed them all and code still hangs. Will copy back previous files innext commit
…ing to with not unskipping tasks properly. IFDEFs are totally correct and code does not hang when GPU code commented out
…ng. Code is doing something but I don't think it's actually progressing through time steps
…ty pairs and selfs, in comparison to same setup but with smaller test case
…hould be replaced with a continue; if the task in unpack
…d of ==0 for when stealing is active
…d of ==0 for when stealing is active for selfs too. Code still hangs but after 60-70 steps. Not perfect but good enough for the first paper
…gs. Need to double check if I put a bug in somewhere or if it is just not good enough to let me run a few steps for the paper
…asks not split to target level for GPU
…f < 2. Removed some commented out code in runner_main. Edited scheduler_gettask so stealing code is a bit cleaner when stealing GPU tasks
…ather than exit(0). Removed if statment querying for n tasks left in scheduler from within runner_main as it was causing kernel launches with invalid configuration (0 blocks). Reverted space.h to default parameters. Added parameters to control subcell size for splitting in gresho.yml (cleaner way of doing it)
…n anticipated. The code works fine for h=1.9dx and lower but we end up with 8x particles per cell if we set h=1.99dx due to some cells being un-splittable due to h condition
…hangs with s->waiting greater than zero and the dumper thread shows that some unpacks are waiting (for packs) and some end_force tasks are waiting (for unpack_f tasks)
… launch_leftovers = 1 whilst the number of tasks left is equal or greater to 1 and the code sets launc_leftovers to 1 even when the counter shows that there is still 1 pack task of that type left
…sert() causes counters to go negative. Code hangs when changing condition to launch_leftovers to if (tasks_left == 0)
…seem to be working as intended. Probably incorrect usage of the CAS
…CAS seems to work
…l have GPU tasks in the queue
…un for longer before hanging. Need to investigate why!
…r GPU memory allocation. Removed packs_stolen counter update from scheduler_gettask(). Cleaned up scheduler.c
…r GPU memory allocation. Removed packs_stolen counter update from scheduler_gettask(). Cleaned up scheduler.c
…fixed code hanging without task stealing. Tried out a few ideas to try and prevent code from hanging with stealing ON to no avail
…nch_leftovers. Seems to run for slightly longer but still hangs. Need to test on GH to see if I can get away with this code for writing the paper!
…so that they are an array attached to scheduler struct where the array indices represent the scheduler's queues. The code hangs at step 0 suggesting there is a mistake in the new implementation. Double check & REVISE
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.