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

Support for a single memory space writeable by both GPU and CPU #242

Merged
merged 4 commits into from
Feb 14, 2024

Conversation

robinson96
Copy link
Contributor

SUMMARY

Provides appropriate synchronizations when needed instead of performing any memory copies.

DETAILS

The configuration variable CHAI_THIN_GPU_ALLOCATE, when enabled in combination with CHAI_DISABLE_RM set to True, will configure CHAI to only perform necessary synchronization in lieu of necessary memory motion.

Changes ManagedArray::m_size to ManagedArray::m_elems - now tracks #of bytes instead of number of entries in the array. This makes the ManagedArray more robust to type conversions.

…ides appropriate synchronizations when needed instead of performing any memory copies.
@robinson96 robinson96 changed the title Support for a single memory space writeable by both GPU and CPU. Prov… Support for a single memory space writeable by both GPU and CPU Jan 29, 2024
@davidbeckingsale
Copy link
Member

This looks fine, but can you remove the tpl export change? We are going to bump to latest BLT and use the new TPL macros.

Copy link
Member

@adayton1 adayton1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@adayton1
Copy link
Member

This looks fine, but can you remove the tpl export change? We are going to bump to latest BLT and use the new TPL macros.

Fixed.

@adayton1
Copy link
Member

It sounds like the CZ is back up now, so is there an easy way to retrigger the pipelines other than adding a commit?

@adayton1 adayton1 requested review from dtaller and liu15 February 14, 2024 20:32
@adayton1 adayton1 merged commit a6ee821 into develop Feb 14, 2024
21 checks passed
@adayton1 adayton1 deleted the feature/probinso/mi300_support branch February 14, 2024 21:47
adayton1 added a commit that referenced this pull request Mar 5, 2024
* Depend on develop version of TPLs

* Tweak version constraints

* Update Umpire package

* Fix syntax error in Umpire package

* Update packages for CHAI and Umpire

* Depend on newer camp

* Update versions for RAJA and Umpire

* Fixes for libcpp builds

* Add SLURM_OVERLAP variable

* Add greater control for when CHAI is a submodule

* Fix hip build with resource manager disabled

* Depend on camp@main

* Missed one reference to camp@master

* Bug fixes for HIP and managed_ptr

* Clean up managed_ptr.hpp

* Fix host build warning

* Customize block size for HIP build

* Add a managed_ptr example

* Fix HIP kernel launches

* Add reproducer for HIP managed_ptr errors

* Clean up managed_ptr reproducer

* Add a simpler reproducer

* Add simplest reproducer

* Fix macro

* Fix mutex lock in evict() that overlaps with lock in free()

* initial changes to add CHAI_ cmake prefix

* fixing cmake option command syntax

* trying to fix azure pipeline image and raja plugin flag

* make edits to azure pipeline file

* Switching from quartz to ruby in gitlab CI

* Updating umpire camp dependency

* Release v2022.03.0 (#208)

* Update Spack packages for CI (#210)

* Add CHAI + RAJA launch integration test. (#219)

* Release v2022.10.0 (#217)

* Make operator overloads bind in more cases (#222)

* MigrateInner on CHAI Copyable for PINNED / UM (#223)

* Use shared CI (#213)

* Deprecate API for synchronization after device kernels (#228)

* setExecutionSpace thread safety(#230)


Co-authored-by: Neela Kausik <[email protected]>

* Release v2023.06.0 (#232)

* [Woptim] Update shared ci to v2023.08.0 (#236)

* Remove explicit device synchronization (#235)

* Update radiuss-shared-ci to new release (with radiuss-spack-configs) (#238)

* Use free instead of realloc to zero size (#239)

* [Woptim] shared ci 2023.12.0 (#241)

* Update Shared CI and Spack Configs to add poodle

* Activate poodle subpipeline

* Reduce allocated time

* Fine tune allocation duration

* Fine tune allocation duration in CI

* Comment alloc command choices

* Update RSC to main

* Fix missing poodle alloc info, update to radiuss Shared CI 2023.12.0, sync build_and_test script with RAJA

* Update radiuss-spack-configs

* CI updates (#244)

* Updates radiuss-spack-configs to commit a37c3e1
* Changes to match the CI of other projects

* Support for a single memory space writeable by both GPU and CPU (#242)

* Support for a single memory space writeable by both GPU and CPU. Provides appropriate synchronizations when needed instead of performing any memory copies.

---------

Co-authored-by: Alan Dayton <[email protected]>

* Clean up CHAI dependency handling

* Revert "Clean up CHAI dependency handling"

This reverts commit 5afb66a.

* Clean up CMake in CHAI (#247)

* Update copyright to 2024 (#248)

* Update to BLT v0.6.1 (#243)

* Update to BLT v0.6.1
* Update to RAJA v2024.02.0
* Update to Umpire 2024.02.0
* Use new way of exporting tpls
* Disable failing container builds since container images are being revamped
* Allow failure for the job using libcpp - doesn't play nicely with fmt at the moment
* Use branch of radiuss-spack-configs to fix spack builds
* Add install tests
* Add a file with release notes
* Ignoring runner issues on tioga since the jobs passed previously

* [Woptim] update spack + update to rocm 5.7.1 (#245)

* Update Spack version
* Update RADIUSS Spack Configs with February 2024 release changes

---------

Co-authored-by: Alan Dayton <[email protected]>

* Update version numbers

---------

Co-authored-by: David Beckingsale <[email protected]>
Co-authored-by: Benjamin T. Liu <[email protected]>
Co-authored-by: Kristi <[email protected]>
Co-authored-by: Kristi <[email protected]>
Co-authored-by: Arturo Vargas <[email protected]>
Co-authored-by: robinson96 <[email protected]>
Co-authored-by: Adrien Bernede <[email protected]>
Co-authored-by: Neela Kausik <[email protected]>
Co-authored-by: Ben Liu <[email protected]>
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.

4 participants