|
Gromacs
2026.0
|
#include <cstddef>#include <memory>#include <type_traits>#include <vector>#include "gromacs/math/paddedvector.h"#include "gromacs/utility/alignedallocator.h"#include "gromacs/utility/allocator.h"#include "gromacs/utility/exceptions.h"
Include dependency graph for hostallocator.h:
This graph shows which files directly or indirectly include this file:Declares gmx::HostAllocationPolicy, gmx::HostAllocator, gmx::HostVector and gmx::PaddedHostVector, which are used to make/be standard library containers that can allocate memory suitable for transfers. Currently the only supported transfers using pinned memory are to CUDA GPUs, but other possibilities exist in future.
Typedefs | |
| template<class T > | |
| using | gmx::HostAllocator = Allocator< T, HostAllocationPolicy > |
| Memory allocator that uses HostAllocationPolicy. More... | |
| template<class T > | |
| using | gmx::HostVector = std::vector< T, HostAllocator< T >> |
| Convenience alias for std::vector that uses HostAllocator. | |
| template<class T > | |
| using | gmx::PaddedHostVector = PaddedVector< T, HostAllocator< T >> |
| Convenience alias for PaddedVector that uses HostAllocator. | |
| template<typename T > | |
| using | gmx::AlignedVector = std::vector< T, AlignedAllocator< T >> |
| Convenience type for vector with aligned memory. | |
Enumerations | |
| enum | gmx::PinningPolicy : int { CannotBePinned, PinnedIfSupported } |
| Helper enum for pinning policy of the allocation of HostAllocationPolicy. More... | |
Functions | |
| template<typename PinnableVector > | |
| void | gmx::changePinningPolicy (PinnableVector *v, PinningPolicy pinningPolicy) |
| Helper function for changing the pinning policy of a pinnable vector. More... | |
1.8.5