#include <AMReX_GpuBuffer.H>
|
| | Buffer (std::initializer_list< T > init) |
| |
| | Buffer (T const *h_p, const std::size_t n) |
| |
| | Buffer (const std::size_t n) |
| |
| | Buffer ()=default |
| |
| T const * | data () const noexcept |
| |
| T * | data () noexcept |
| |
| T const * | hostData () const noexcept |
| |
| T * | hostData () noexcept |
| |
| T & | operator[] (const std::size_t i) noexcept |
| | Changes the value of an element of the host (CPU) vector. Does not update the device (GPU) vector, so copyToDeviceAsync() needs to be called before accessing the data on the GPU.
|
| |
| const T & | operator[] (const std::size_t i) const noexcept |
| |
| std::size_t | size () const noexcept |
| |
| bool | empty () const noexcept |
| |
| void | resize (const std::size_t n) noexcept |
| |
| void | clear () noexcept |
| |
| void | shrink_to_fit () noexcept |
| |
| void | reserve (const std::size_t n) noexcept |
| |
| void | push_back (const T &value) noexcept |
| | Adds an element to the back of the host (CPU) vector. Does not update the device (GPU) vector, so copyToDeviceAsync() needs to be called before accessing the data on the GPU.
|
| |
| T * | copyToDeviceAsync () noexcept |
| |
| T * | copyToHost () noexcept |
| |
◆ Buffer() [1/4]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ Buffer() [2/4]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ Buffer() [3/4]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ Buffer() [4/4]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ clear()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ copyToDeviceAsync()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ copyToHost()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ data() [1/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ data() [2/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ empty()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ hostData() [1/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ hostData() [2/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ operator[]() [1/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ operator[]() [2/2]
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
Changes the value of an element of the host (CPU) vector. Does not update the device (GPU) vector, so copyToDeviceAsync() needs to be called before accessing the data on the GPU.
for (int i=0; i<n; ++i) {
buf[i] = i*i;
}
Definition AMReX_GpuBuffer.H:18
T const * data() const noexcept
Definition AMReX_GpuBuffer.H:45
T * copyToHost() noexcept
Definition AMReX_GpuBuffer.H:145
void resize(const std::size_t n) noexcept
Definition AMReX_GpuBuffer.H:86
T * copyToDeviceAsync() noexcept
Definition AMReX_GpuBuffer.H:133
◆ push_back()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
Adds an element to the back of the host (CPU) vector. Does not update the device (GPU) vector, so copyToDeviceAsync() needs to be called before accessing the data on the GPU.
for (int i=0; i<n; ++i) {
}
void reserve(const std::size_t n) noexcept
Definition AMReX_GpuBuffer.H:103
void push_back(const T &value) noexcept
Adds an element to the back of the host (CPU) vector. Does not update the device (GPU) vector,...
Definition AMReX_GpuBuffer.H:129
◆ reserve()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ resize()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ shrink_to_fit()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ size()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ useDVect()
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ d_vect
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
◆ h_vect
template<typename T , std::enable_if_t< std::is_trivially_copyable_v< T >, int > = 0>
The documentation for this class was generated from the following file: