-
Notifications
You must be signed in to change notification settings - Fork 9
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
Constructing a high resolution space on GPU fails #2096
Comments
Shorter reproducer:
Anything more than 104 fails |
While this is worked on, we can work around by setting args = (dest, bc, us)
threads = threads_via_occupancy(knl_copyto!, args)
n_max_threads = min(threads, get_N(us))
p = partition(dest, n_max_threads)
nitems = get_N(us)
auto_launch!(
knl_copyto!,
args,
nitems;
auto = true,
threads_s = p.threads,
blocks_s = p.blocks,
) |
We have kernel launch patterns, that use the grid configuration (Nv, Nh) .
The first option is the easiest to use, unless we have a good reason to use the second option. |
From a user point of view, I think we should try avoiding any limit in a foundational package like ClimaCore. We don't know what configurations users are going to set up, so I think there shouldn't be any artificial restriction on the maximum number of levels/elements one can place in either vertical or the horizontal direction. If we just swap Nh with Nv, this problem with come back when someone will try to run a high-vertical-resolution box or column. |
Sure. With option 1, we can still loop over vertical level blocks once we hit the limit. It's primarily about significantly increasing the limit for |
Describe the bug
When I try to set up a space with
nelements >= 200
, I get the following error:ERROR: LoadError: Number of blocks in y-dimension exceeds device limit (240000 > 65535)
.I found this online: "Blocks can be organized into one, two or three-dimensional grids of up to 2^31-1, 65,535 and 65,535 blocks in the x, y and z dimensions respectively." It looks like we're hitting the limit in the y dimension when we construct our space, but there should be plenty of space in the x dimension. Maybe the usage can be changed in ClimaCore?
To Reproduce
[on clima node]
Setup information
Using ClimaCore v0.14.20
The text was updated successfully, but these errors were encountered: