Mercurial > hg > CbC > CbC_llvm
diff openmp/libomptarget/src/api.cpp @ 173:0572611fdcc8 llvm10 llvm12
reorgnization done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 11:55:54 +0900 |
parents | 1d019706d866 |
children | 2e18cbf3894f |
line wrap: on
line diff
--- a/openmp/libomptarget/src/api.cpp Mon May 25 11:50:15 2020 +0900 +++ b/openmp/libomptarget/src/api.cpp Mon May 25 11:55:54 2020 +0900 @@ -21,9 +21,9 @@ #include <cstdlib> EXTERN int omp_get_num_devices(void) { - RTLsMtx.lock(); + RTLsMtx->lock(); size_t Devices_size = Devices.size(); - RTLsMtx.unlock(); + RTLsMtx->unlock(); DP("Call to omp_get_num_devices returning %zd\n", Devices_size); @@ -102,9 +102,9 @@ return true; } - RTLsMtx.lock(); + RTLsMtx->lock(); size_t Devices_size = Devices.size(); - RTLsMtx.unlock(); + RTLsMtx->unlock(); if (Devices_size <= (size_t)device_num) { DP("Call to omp_target_is_present with invalid device ID, returning " "false\n"); @@ -120,7 +120,7 @@ // getTgtPtrBegin() function which means that there is no device // corresponding point for ptr. This function should return false // in that situation. - if (RTLs.RequiresFlags & OMP_REQ_UNIFIED_SHARED_MEMORY) + if (RTLs->RequiresFlags & OMP_REQ_UNIFIED_SHARED_MEMORY) rc = !IsHostPtr; DP("Call to omp_target_is_present returns %d\n", rc); return rc; @@ -161,19 +161,20 @@ } else if (src_device == omp_get_initial_device()) { DP("copy from host to device\n"); DeviceTy& DstDev = Devices[dst_device]; - rc = DstDev.data_submit(dstAddr, srcAddr, length); + rc = DstDev.data_submit(dstAddr, srcAddr, length, nullptr); } else if (dst_device == omp_get_initial_device()) { DP("copy from device to host\n"); DeviceTy& SrcDev = Devices[src_device]; - rc = SrcDev.data_retrieve(dstAddr, srcAddr, length); + rc = SrcDev.data_retrieve(dstAddr, srcAddr, length, nullptr); } else { DP("copy from device to device\n"); void *buffer = malloc(length); DeviceTy& SrcDev = Devices[src_device]; DeviceTy& DstDev = Devices[dst_device]; - rc = SrcDev.data_retrieve(buffer, srcAddr, length); + rc = SrcDev.data_retrieve(buffer, srcAddr, length, nullptr); if (rc == OFFLOAD_SUCCESS) - rc = DstDev.data_submit(dstAddr, buffer, length); + rc = DstDev.data_submit(dstAddr, buffer, length, nullptr); + free(buffer); } DP("omp_target_memcpy returns %d\n", rc);