Skip to content

Commit db41e04

Browse files
authored
Merge pull request #77 from rchen20/bugfix/chen59/syclma
Fix for MemoryAccess in SYCL resource.
2 parents cba7105 + 087ed65 commit db41e04

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

include/camp/resource/sycl.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,33 +150,33 @@ namespace resources
150150

151151
// Memory
152152
template <typename T>
153-
T *allocate(size_t size)
153+
T *allocate(size_t size, MemoryAccess ma = MemoryAccess::Device)
154154
{
155155
T *ret = nullptr;
156156
if (size > 0) {
157157
ret = sycl::malloc_shared<T>(size, *qu);
158158
switch (ma) {
159159
case MemoryAccess::Unknown:
160160
case MemoryAccess::Device:
161-
ret = sycl::malloc_device(sizeof(T) * size, *qu);
161+
ret = sycl::malloc_device<T>(size, *qu);
162162
break;
163163
case MemoryAccess::Pinned:
164-
ret = sycl::malloc_host(sizeof(T) * size, *qu);
164+
ret = sycl::malloc_host<T>(size, *qu);
165165
break;
166166
case MemoryAccess::Managed:
167-
ret = sycl::malloc_shared(sizeof(T) * size, *qu);
167+
ret = sycl::malloc_shared<T>(size, *qu);
168168
break;
169169
}
170170
}
171171
return ret;
172172
}
173-
void *calloc(size_t size)
173+
void *calloc(size_t size, MemoryAccess ma = MemoryAccess::Device)
174174
{
175-
void *p = allocate<char>(size);
175+
void *p = allocate<char>(size, ma);
176176
this->memset(p, 0, size);
177177
return p;
178178
}
179-
void deallocate(void *p) { sycl::free(p, *qu); }
179+
void deallocate(void *p, MemoryAccess ma = MemoryAccess::Device) { sycl::free(p, *qu); }
180180
void memcpy(void *dst, const void *src, size_t size)
181181
{
182182
if (size > 0) {

0 commit comments

Comments
 (0)