Skip to content

Conversation

@hderry
Copy link

@hderry hderry commented Mar 21, 2025

Description

  • During exchange grid generation and remapping data, allocate temporary arrays on the device.
    - Allocate data memory on device using acc_malloc
    -Remove instances of data create – data will only be housed on device, so there is no need to match creation on host.

  • Modify present clause, removing data allocated memory using acc_malloc

  • Utilize deviceptr clause to declare that pointers in list refer to a device pointer that does not need to be allocated / moved between host and device.

How Has This Been Tested?

  • Standard build and installation process
  • Performed benchmark tests for fregrid_gpu with various input grids

Checklist:
[✓] My code follows the style guidelines of this project
[✓ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[✓] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules
[ ] New check tests, if applicable, are included
[x ] make distcheck passes
split_ncvars/ fails but all other checks pass or are skipped

hderry added 2 commits March 21, 2025 12:40
	- During exchange grid generation and remapping data, allocate temporary arrays on the device only
	    -Allocate data memory on device using acc_malloc
	    -Remove instances of `data create` –  data will only be housed on device, so there is no need to match creation on host.
	- Modify `present` clause, removing data allocated memory using acc_malloc
	- Utilize deviceptr clause to declare that pointers in list refer to a device pointer that does not need to be allocated / moved between host and device.
@mlee03 mlee03 requested review from mlee03 and rem1776 April 11, 2025 17:34
@mlee03
Copy link
Contributor

mlee03 commented Apr 11, 2025

@hderry, do you know which test is failing?

@hderry
Copy link
Author

hderry commented Apr 11, 2025

@hderry, do you know which test is failing?

It is running additional tests with -- make -C build -j check

The same tests I mentioned failing in my initial comment about checklist

FAIL: split_ncvars/split_ncvars-p
PASS: plevel/plevel
FAIL: split_ncvars/split_ncvars-i
PASS: scatter-ncc/scatter_1x1
FAIL: split_ncvars/split_ncvars-s
SKIP: river_regrid/river_regrid
PASS: plevel/plevel-a
PASS: mppnccombine/dry-run
PASS: decompress-ncc/decompress
FAIL: split_ncvars/split_ncvars-o
PASS: plevel/plevel-0
PASS: mppnccombine/non-zero-start-number
FAIL: split_ncvars/split_ncvars
PASS: split_ncvars/split_ncvars-v
PASS: scatter-ncc/scatter_1x2
PASS: scatter-ncc/scatter_2x1
PASS: mppnccombine/missing-file-fail
FAIL: split_ncvars/split_ncvars-l

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