Program Listing for File region.h
↰ Return to documentation for file (source/lib/include/region.h
)
// SPDX-License-Identifier: LGPL-3.0-or-later
#pragma once
namespace deepmd {
template <typename FPTYPE>
struct Region {
FPTYPE* boxt;
FPTYPE* rec_boxt;
Region();
Region(FPTYPE* extern_boxt, FPTYPE* extern_rec_boxt);
~Region();
private:
bool self_allocated;
};
template <typename FPTYPE>
void init_region_cpu(Region<FPTYPE>& region, const FPTYPE* boxt);
template <typename FPTYPE>
FPTYPE volume_cpu(const Region<FPTYPE>& region);
template <typename FPTYPE>
void convert_to_inter_cpu(FPTYPE* ri,
const Region<FPTYPE>& region,
const FPTYPE* rp);
template <typename FPTYPE>
void convert_to_phys_cpu(FPTYPE* rp,
const Region<FPTYPE>& region,
const FPTYPE* ri);
#if GOOGLE_CUDA || TENSORFLOW_USE_ROCM
// only for unittest
template <typename FPTYPE>
void convert_to_inter_gpu(FPTYPE* ri,
const Region<FPTYPE>& region,
const FPTYPE* rp);
template <typename FPTYPE>
void convert_to_phys_gpu(FPTYPE* rp,
const Region<FPTYPE>& region,
const FPTYPE* ri);
template <typename FPTYPE>
void volume_gpu(FPTYPE* volume, const Region<FPTYPE>& region);
#endif // GOOGLE_CUDA || TENSORFLOW_USE_ROCM
} // namespace deepmd