-
Notifications
You must be signed in to change notification settings - Fork 407
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
Scratch memory and dynamic scheduling #279
Comments
No this is supposed to work. I will have a look. |
Just to let you know I replicated the issue, even after fixing some minor things in the reproducer (the mem_size should come from View<double*>::shmem_size(N) , the member_type should come from TeamPolicy<dynamic_schedule>::member_type , and there are two using TeamPolicy statements). I am now trying to track down where this is coming from, and hope to get it fixed this week. |
Could you test if this fixes it for you? |
With gcc 5.2.0 and the openmp backend, it works. However, with intel 16.0.1 and the openmp backend, the error remains. Could you see if things work on your end with intel compilers? |
I have changed to intel 16.0.3 (from 16.0.1) and am no longer seeing those errors with dynamic scheduling with OpenMP! (I have only tested with OpenMP backend with gcc and intel compilers) |
This addresses issue kokkos#279
In my application, I have am making use of both team-wise scratch memory and dynamic scheduling.
I recently discovered that when the number of teams exceeds the number of threads, I get a scratch memory allocation error sometimes (there is some undefined behavior somewhere).
The errors do not occur if either the number of teams is < number of threads OR if I am not using dynamic scheduling.
Is scratch memory and dynamic scheduling supposed to be incompatible?
reproducer of error attached.
scratch_mem.zip
The text was updated successfully, but these errors were encountered: