diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4e7dd3da..44b8550d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,14 +2,12 @@ name: Build and Deploy Documentation on: push: - branches: [ main ] paths: - 'docs/**' - 'iris/**' - 'examples/**' - '.github/workflows/docs.yml' pull_request: - branches: [ main ] paths: - 'docs/**' - 'iris/**' diff --git a/.github/workflows/iris-external-validation-test.yml b/.github/workflows/iris-external-validation-test.yml index 655d13f6..44ae940b 100644 --- a/.github/workflows/iris-external-validation-test.yml +++ b/.github/workflows/iris-external-validation-test.yml @@ -2,9 +2,7 @@ name: Iris External Validation Test on: push: - branches: [ main ] pull_request: - branches: [ main ] workflow_dispatch: concurrency: diff --git a/.github/workflows/iris-performance-regression-test.yml b/.github/workflows/iris-performance-regression-test.yml index 137ee2d0..8d3b36c4 100644 --- a/.github/workflows/iris-performance-regression-test.yml +++ b/.github/workflows/iris-performance-regression-test.yml @@ -2,9 +2,7 @@ name: Iris Performance Regression Test on: push: - branches: [ main ] pull_request: - branches: [ main ] workflow_dispatch: concurrency: diff --git a/.github/workflows/iris-tests.yml b/.github/workflows/iris-tests.yml index 0e4b4da3..828f4716 100644 --- a/.github/workflows/iris-tests.yml +++ b/.github/workflows/iris-tests.yml @@ -2,9 +2,7 @@ name: Iris Tests on: push: - branches: [ main ] pull_request: - branches: [ main ] workflow_dispatch: concurrency: diff --git a/iris/iris.py b/iris/iris.py index 76da934e..0ddb8e8c 100644 --- a/iris/iris.py +++ b/iris/iris.py @@ -1858,22 +1858,11 @@ def copy( >>> iris.copy(remote_ptr, local_ptr, from_rank, to_rank, to_rank, heap_bases) """ - cur_base = tl.load(heap_bases + cur_rank) - - from_base = tl.load(heap_bases + from_rank) - to_base = tl.load(heap_bases + to_rank) - - src_ptr_int = tl.cast(src_ptr, tl.uint64) - src_offset = src_ptr_int - cur_base - - dst_ptr_int = tl.cast(dst_ptr, tl.uint64) - dst_offset = dst_ptr_int - cur_base - - from_base_byte = tl.cast(from_base, tl.pointer_type(tl.int8)) - to_base_byte = tl.cast(to_base, tl.pointer_type(tl.int8)) - - translated_src = tl.cast(from_base_byte + src_offset, src_ptr.dtype) - translated_dst = tl.cast(to_base_byte + dst_offset, src_ptr.dtype) + # Translate src_ptr from cur_rank's address space to from_rank's address space + translated_src = __translate(src_ptr, cur_rank, from_rank, heap_bases) + + # Translate dst_ptr from cur_rank's address space to to_rank's address space + translated_dst = __translate(dst_ptr, cur_rank, to_rank, heap_bases) data = tl.load(translated_src, mask=mask, cache_modifier=load_cache_modifier) tl.store(translated_dst, data, mask=mask, cache_modifier=store_cache_modifier)