MCPcopy Create free account
hub / github.com/SeisSol/SeisSol / computeBatchedIntegrals

Method computeBatchedIntegrals

src/Kernels/TimeCommon.cpp:144–182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

142}
143
144void TimeCommon::computeBatchedIntegrals(Time& time,
145 const double timeStepStart,
146 const double timeStepWidth,
147 ConditionalPointersToRealsTable& table,
148 seissol::parallel::runtime::StreamRuntime& runtime) {
149#ifdef ACL_DEVICE
150 // Compute time integrated dofs using neighbours derivatives using the GTS relation,
151 // i.e. the expansion point is around 'timeStepStart'
152 ConditionalKey key(*KernelNames::NeighborFlux, *ComputationKind::WithGtsDerivatives);
153 if (table.find(key) != table.end()) {
154 auto& entry = table[key];
155 time.computeBatchedIntegral(
156 timeStepStart,
157 timeStepStart,
158 timeStepStart + timeStepWidth,
159 const_cast<const real**>((entry.get(inner_keys::Wp::Id::Derivatives))->getDeviceDataPtr()),
160 (entry.get(inner_keys::Wp::Id::Idofs))->getDeviceDataPtr(),
161 (entry.get(inner_keys::Wp::Id::Idofs))->getSize(),
162 runtime);
163 }
164
165 // Compute time integrated dofs using neighbours derivatives using the LTS relation,
166 // i.e. the expansion point is around '0'
167 key = ConditionalKey(*KernelNames::NeighborFlux, *ComputationKind::WithLtsDerivatives);
168 if (table.find(key) != table.end()) {
169 auto& entry = table[key];
170 time.computeBatchedIntegral(
171 0.0,
172 timeStepStart,
173 timeStepStart + timeStepWidth,
174 const_cast<const real**>((entry.get(inner_keys::Wp::Id::Derivatives))->getDeviceDataPtr()),
175 (entry.get(inner_keys::Wp::Id::Idofs))->getDeviceDataPtr(),
176 (entry.get(inner_keys::Wp::Id::Idofs))->getSize(),
177 runtime);
178 }
179#else
180 logError() << "No GPU implementation provided";
181#endif
182}
183
184} // namespace seissol::kernels

Callers

nothing calls this directly

Calls 6

ConditionalKeyClass · 0.85
getDeviceDataPtrMethod · 0.80
endMethod · 0.45
getMethod · 0.45
getSizeMethod · 0.45

Tested by

no test coverage detected