Neko
1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
buffer.h
Go to the documentation of this file.
1
#ifndef __HIP_BUFFER_H
2
#define __HIP_BUFFER_H
3
/*
4
Copyright (c) 2026, The Neko Authors
5
All rights reserved.
6
7
Redistribution and use in source and binary forms, with or without
8
modification, are permitted provided that the following conditions
9
are met:
10
11
* Redistributions of source code must retain the above copyright
12
notice, this list of conditions and the following disclaimer.
13
14
* Redistributions in binary form must reproduce the above
15
copyright notice, this list of conditions and the following
16
disclaimer in the documentation and/or other materials provided
17
with the distribution.
18
19
* Neither the name of the authors nor the names of its
20
contributors may be used to endorse or promote products derived
21
from this software without specific prior written permission.
22
23
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#include <stddef.h>
38
39
#ifdef __cplusplus
40
extern
"C"
{
41
#endif
42
51
struct
hip_buffer
{
52
void
*
host
;
53
void
*
dev
;
54
size_t
size
;
55
int
dev_only
;
56
int
registered
;
57
struct
hip_buffer
*
next
;
58
};
59
typedef
struct
hip_buffer
hip_buffer_t
;
60
61
#define HIP_BUFFER_INIT {NULL, NULL, 0, 0, 0, NULL}
62
#define HIP_BUFFER_INIT_DEV {NULL, NULL, 0, 1, 0, NULL}
63
69
void
hip_buffer_reserve
(
hip_buffer_t
*buf,
size_t
size
);
70
74
void
hip_buffer_free_all
(
void
);
75
76
#ifdef __cplusplus
77
}
78
#endif
79
80
#endif
/* __HIP_BUFFER_H */
hip_buffer_reserve
void hip_buffer_reserve(hip_buffer_t *buf, size_t size)
Definition
buffer.hip:47
hip_buffer_free_all
void hip_buffer_free_all(void)
Definition
buffer.hip:70
hip_buffer
Definition
buffer.h:51
hip_buffer::next
struct hip_buffer * next
Definition
buffer.h:57
hip_buffer::dev_only
int dev_only
Definition
buffer.h:55
hip_buffer::host
void * host
Definition
buffer.h:52
hip_buffer::registered
int registered
Definition
buffer.h:56
hip_buffer::size
size_t size
Definition
buffer.h:54
hip_buffer::dev
void * dev
Definition
buffer.h:53
src
device
hip
buffer.h
Generated on Sun Sep 6 2026 03:40:12 for Neko by
1.9.8