Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
CudaFunctions.c
Go to the documentation of this file.
1#include <lal/LALDatatypes.h>
2#include <lal/XLALError.h>
3#include <cuda_runtime.h>
4#include "CudaFunctions.h"
5
6
8{
9 REAL4 *d_data;
10
11 XLALCUDACHECK(cudaMalloc( (void **)&d_data, sizeof(REAL4) * size ));
12
13 if( !d_data )
15 return d_data;
16}
17
19{
20 COMPLEX8 *d_data;
21
22 XLALCUDACHECK(cudaMalloc( (void **)&d_data, sizeof(COMPLEX8) * size));
23
24 if( !d_data )
26 return d_data;
27}
28
29void XLALCudaFree(void *d_data)
30{
31 if( !d_data )
33 cudaFree(d_data);
34}
REAL4 * XLALCudaMallocReal(UINT4 size)
Definition: CudaFunctions.c:7
void XLALCudaFree(void *d_data)
Definition: CudaFunctions.c:29
COMPLEX8 * XLALCudaMallocComplex(UINT4 size)
Definition: CudaFunctions.c:18
#define XLALCUDACHECK(e)
Definition: CudaFunctions.h:15
uint32_t UINT4
Four-byte unsigned integer.
float complex COMPLEX8
Single-precision floating-point complex number (8 bytes total)
float REAL4
Single precision real floating-point number (4 bytes).
#define XLAL_ERROR_VOID(...)
Macro to invoke a failure from a XLAL routine returning void.
Definition: XLALError.h:726
#define XLAL_ERROR_NULL(...)
Macro to invoke a failure from a XLAL routine returning a pointer.
Definition: XLALError.h:713
@ XLAL_ENOMEM
Memory allocation error.
Definition: XLALError.h:407
@ XLAL_EFAULT
Invalid pointer.
Definition: XLALError.h:408