merge with kernels from MH's master thesis
[LbmBenchmarkKernelsPublic.git] / src / Memory.h
1 // --------------------------------------------------------------------------
2 //
3 // Copyright
4 //   Markus Wittmann, 2016-2017
5 //   RRZE, University of Erlangen-Nuremberg, Germany
6 //   markus.wittmann -at- fau.de or hpc -at- rrze.fau.de
7 //
8 //   Viktor Haag, 2016
9 //   LSS, University of Erlangen-Nuremberg, Germany
10 //
11 //   Michael Hussnaetter, 2017-2018
12 //   University of Erlangen-Nuremberg, Germany
13 //   michael.hussnaetter -at- fau.de
14 //
15 //  This file is part of the Lattice Boltzmann Benchmark Kernels (LbmBenchKernels).
16 //
17 //  LbmBenchKernels is free software: you can redistribute it and/or modify
18 //  it under the terms of the GNU General Public License as published by
19 //  the Free Software Foundation, either version 3 of the License, or
20 //  (at your option) any later version.
21 //
22 //  LbmBenchKernels is distributed in the hope that it will be useful,
23 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
24 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25 //  GNU General Public License for more details.
26 //
27 //  You should have received a copy of the GNU General Public License
28 //  along with LbmBenchKernels.  If not, see <http://www.gnu.org/licenses/>.
29 //
30 // --------------------------------------------------------------------------
31 #ifndef __MEMORY_H__
32 #define __MEMORY_H__
33
34 #include <stddef.h> // size_t
35
36 int MemAlloc(void ** ptr, size_t bytesToAlloc);
37 int MemAllocAligned(void ** ptr, size_t bytesToAlloc, size_t alignmentBytes);
38 int MemFree(void ** ptr);
39
40 int MemZero(void * ptr, size_t bytesToZero);
41
42 #ifdef HAVE_MEMKIND
43 int HbwAlloc(void ** ptr, size_t bytesToAlloc);
44 int HbwAllocAligned(void ** ptr, size_t bytesToAlloc, size_t alignmentBytes);
45 int HbwFree(void ** ptr);
46 #endif
47
48 #endif // __MEMORY_H__
This page took 0.048914 seconds and 4 git commands to generate.