Files
LBPM/cpu/Extras.cpp

37 lines
860 B
C++
Raw Normal View History

2014-01-27 11:43:24 -05:00
// Basic cuda functions callable from C/C++ code
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
extern "C" void ScaLBL_AllocateDeviceMemory(void** address, size_t size){
2014-01-27 11:43:24 -05:00
//cudaMalloc(address,size);
(*address) = malloc(size);
2015-09-01 21:51:41 -04:00
memset(*address,0,size);
2014-01-27 11:43:24 -05:00
if (*address==NULL){
printf("Memory allocation failed! \n");
}
}
extern "C" void ScaLBL_FreeDeviceMemory(void* address){
if ( address != NULL )
free( address );
}
extern "C" void ScaLBL_CopyToDevice(void* dest, const void* source, size_t size){
2014-01-27 11:43:24 -05:00
// cudaMemcpy(dest,source,size,cudaMemcpyHostToDevice);
memcpy(dest, source, size);
}
extern "C" void ScaLBL_CopyToHost(void* dest, const void* source, size_t size){
2014-01-27 11:43:24 -05:00
// cudaMemcpy(dest,source,size,cudaMemcpyDeviceToHost);
memcpy(dest, source, size);
}
extern "C" void ScaLBL_DeviceBarrier(){
2014-01-27 11:43:24 -05:00
// cudaDeviceSynchronize();
}