1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#include "../extensions.h"
#include "gpu.h"
#include "gpu-complex.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void bc_init_buffers_gpu();
void blas_init_gpu();
void transformer_init_buffers_gpu();
void operator_init_buffers_gpu();
void reduce_init_buffers_gpu();
void lfc_reduce_init_buffers_gpu();
void bc_dealloc_gpu(int force);
void transformer_dealloc_gpu(int force);
void operator_dealloc_gpu(int force);
void reduce_dealloc_gpu();
void lfc_reduce_dealloc_gpu();
PyObject* gpaw_gpu_init(PyObject *self, PyObject *args)
{
if (!PyArg_ParseTuple(args, ""))
return NULL;
bc_init_buffers_gpu();
transformer_init_buffers_gpu();
operator_init_buffers_gpu();
reduce_init_buffers_gpu();
lfc_reduce_init_buffers_gpu();
blas_init_gpu();
if (PyErr_Occurred())
return NULL;
else
Py_RETURN_NONE;
}
PyObject* gpaw_gpu_delete(PyObject *self, PyObject *args)
{
if (!PyArg_ParseTuple(args, ""))
return NULL;
reduce_dealloc_gpu();
lfc_reduce_dealloc_gpu();
bc_dealloc_gpu(1);
transformer_dealloc_gpu(1);
operator_dealloc_gpu(1);
if (PyErr_Occurred())
return NULL;
else
Py_RETURN_NONE;
}
|