Loading...
Searching...
No Matches
tum_offload.hpp
Go to the documentation of this file.
1//-----------------------------------------------------------------------------------
2// d-SEAMS - Deferred Structural Elucidation Analysis for Molecular Simulations
3//
4// Copyright (c) 2018--present d-SEAMS core team
5//
6// SPDX-License-Identifier: MIT
7//-----------------------------------------------------------------------------------
8
9#ifndef SEAMS_TUM_OFFLOAD_H_
10#define SEAMS_TUM_OFFLOAD_H_
11
12#include <vector>
13
25
26namespace tum {
27
28struct CageCounts {
29 int nSix = 0;
30 int nHcRings = 0;
31 int nDdcRings = 0;
32 int nHcAtoms = 0;
33 int nDdcAtoms = 0;
34 int ringsDropped = 0;
35 bool usedDevice = false;
36 std::vector<int> atomHc;
37 std::vector<int> atomDdc;
38};
39
41[[nodiscard]] bool preferOffload();
42
46 const std::vector<std::vector<int>> &nList);
47
51 const std::vector<std::vector<int>> &nList);
52
54[[nodiscard]] CageCounts cageCounts(const std::vector<std::vector<int>> &nList);
55
56} // namespace tum
57
58#endif
CageCounts specializedCageCounts(const std::vector< std::vector< int > > &nList)
Hop-bound six-ring enumerator plus affiliation predicates.
CageCounts hostCageCounts(const std::vector< std::vector< int > > &nList)
Host Franzblau six-rings plus cageAffiliation on an index nList (leading self entry,...
CageCounts cageCounts(const std::vector< std::vector< int > > &nList)
preferOffload() selects specializedCageCounts, otherwise hostCageCounts.
bool preferOffload()
True when SEAMS_OFFLOAD is set and is not "0".
std::vector< int > atomHc
std::vector< int > atomDdc