Skip to content

Commit

Permalink
Update the Pixel reconstruction for Alpaka 1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
fwyzard committed Feb 12, 2024
1 parent 42794f5 commit 856ec61
Show file tree
Hide file tree
Showing 19 changed files with 159 additions and 159 deletions.
2 changes: 1 addition & 1 deletion DataFormats/VertexSoA/test/alpaka/ZVertexSoA_test.dev.cc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
template <typename TAcc, typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC void operator()(TAcc const& acc, reco::ZVertexSoAView zvertex_view) const {
if (cms::alpakatools::once_per_grid(acc)) {
ALPAKA_ASSERT_OFFLOAD(zvertex_view.nvFinal() == 420);
ALPAKA_ASSERT_ACC(zvertex_view.nvFinal() == 420);
}

for (int32_t j : elements_with_stride(acc, zvertex_view.nvFinal())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ namespace pixelClustering {

constexpr int startBPIX2 = TrackerTraits::layerStart[1];

ALPAKA_ASSERT_OFFLOAD(TrackerTraits::numberOfModules < maxNumModules);
ALPAKA_ASSERT_OFFLOAD(startBPIX2 < TrackerTraits::numberOfModules);
ALPAKA_ASSERT_ACC(TrackerTraits::numberOfModules < maxNumModules);
ALPAKA_ASSERT_ACC(startBPIX2 < TrackerTraits::numberOfModules);

auto endModule = clus_view[0].moduleStart();
for (auto module : cms::alpakatools::independent_groups(acc, endModule)) {
Expand All @@ -53,7 +53,7 @@ namespace pixelClustering {
// reached the end of the module while skipping the invalid pixels, skip this module
continue;
}
ALPAKA_ASSERT_OFFLOAD(thisModuleId < TrackerTraits::numberOfModules);
ALPAKA_ASSERT_ACC(thisModuleId < TrackerTraits::numberOfModules);

uint32_t nclus = clus_view[thisModuleId].clusInModule();
if (nclus == 0)
Expand Down Expand Up @@ -87,7 +87,7 @@ namespace pixelClustering {
printf("start cluster charge cut for module %d in block %d\n", thisModuleId, module);
#endif

ALPAKA_ASSERT_OFFLOAD(nclus <= maxNumClustersPerModules);
ALPAKA_ASSERT_ACC(nclus <= maxNumClustersPerModules);
for (auto i : cms::alpakatools::independent_group_elements(acc, nclus)) {
charge[i] = 0;
}
Expand Down Expand Up @@ -136,7 +136,7 @@ namespace pixelClustering {
alpaka::syncBlockThreads(acc);
}
}
ALPAKA_ASSERT_OFFLOAD(nclus >= newclusId[nclus - 1]);
ALPAKA_ASSERT_ACC(nclus >= newclusId[nclus - 1]);

clus_view[thisModuleId].clusInModule() = newclusId[nclus - 1];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
&clus_view[0].moduleStart(),
static_cast<uint32_t>(::pixelClustering::maxNumModules),
alpaka::hierarchy::Blocks{});
ALPAKA_ASSERT_OFFLOAD(loc < TrackerTraits::numberOfModules);
ALPAKA_ASSERT_ACC(loc < TrackerTraits::numberOfModules);
#ifdef GPU_DEBUG
printf("> New module (no. %d) found at digi %d \n", loc, i);
#endif
Expand All @@ -143,7 +143,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
for (uint32_t module : cms::alpakatools::independent_groups(acc, lastModule)) {
auto firstPixel = clus_view[1 + module].moduleStart();
uint32_t thisModuleId = digi_view[firstPixel].moduleId();
ALPAKA_ASSERT_OFFLOAD(thisModuleId < TrackerTraits::numberOfModules);
ALPAKA_ASSERT_ACC(thisModuleId < TrackerTraits::numberOfModules);

#ifdef GPU_DEBUG
if (thisModuleId % 100 == 1)
Expand Down Expand Up @@ -182,8 +182,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
}
alpaka::syncBlockThreads(acc);

ALPAKA_ASSERT_OFFLOAD((lastPixel == numElements) or
((lastPixel < numElements) and (digi_view[lastPixel].moduleId() != thisModuleId)));
ALPAKA_ASSERT_ACC((lastPixel == numElements) or
((lastPixel < numElements) and (digi_view[lastPixel].moduleId() != thisModuleId)));
// limit to maxPixInModule (FIXME if recurrent (and not limited to simulation with low threshold) one will need to implement something cleverer)
if (cms::alpakatools::once_per_block(acc)) {
if (lastPixel - firstPixel > TrackerTraits::maxPixInModule) {
Expand All @@ -195,7 +195,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
}
}
alpaka::syncBlockThreads(acc);
ALPAKA_ASSERT_OFFLOAD(lastPixel - firstPixel <= TrackerTraits::maxPixInModule);
ALPAKA_ASSERT_ACC(lastPixel - firstPixel <= TrackerTraits::maxPixInModule);

#ifdef GPU_DEBUG
auto& totGood = alpaka::declareSharedVar<uint32_t, __COUNTER__>(acc);
Expand Down Expand Up @@ -254,7 +254,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
hist.finalize(acc, ws);
alpaka::syncBlockThreads(acc);
#ifdef GPU_DEBUG
ALPAKA_ASSERT_OFFLOAD(hist.size() == totGood);
ALPAKA_ASSERT_ACC(hist.size() == totGood);
if (thisModuleId % 100 == 1)
if (cms::alpakatools::once_per_block(acc))
printf("histo size %d\n", hist.size());
Expand Down Expand Up @@ -299,11 +299,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
// with blockDimension = threadPerBlock * elementsPerThread.
// Hence, maxIter can be tuned accordingly to the workdiv.
constexpr unsigned int maxIterGPU = 16;
ALPAKA_ASSERT_OFFLOAD((hist.size() / blockDimension) < maxIterGPU);
ALPAKA_ASSERT_ACC((hist.size() / blockDimension) < maxIterGPU);

// NB: can be tuned.
constexpr uint32_t maxElements = cms::alpakatools::requires_single_thread_per_block_v<TAcc> ? 256 : 1;
ALPAKA_ASSERT_OFFLOAD((alpaka::getWorkDiv<alpaka::Thread, alpaka::Elems>(acc)[0u] <= maxElements));
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Thread, alpaka::Elems>(acc)[0u] <= maxElements));

constexpr unsigned int maxIter = maxIterGPU * maxElements;

Expand All @@ -321,23 +321,23 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
// fill the nearest neighbours
uint32_t k = 0;
for (uint32_t j : cms::alpakatools::independent_group_elements(acc, hist.size())) {
ALPAKA_ASSERT_OFFLOAD(k < maxIter);
ALPAKA_ASSERT_ACC(k < maxIter);
auto p = hist.begin() + j;
auto i = *p + firstPixel;
ALPAKA_ASSERT_OFFLOAD(digi_view[i].moduleId() != ::pixelClustering::invalidModuleId);
ALPAKA_ASSERT_OFFLOAD(digi_view[i].moduleId() == thisModuleId); // same module
ALPAKA_ASSERT_ACC(digi_view[i].moduleId() != ::pixelClustering::invalidModuleId);
ALPAKA_ASSERT_ACC(digi_view[i].moduleId() == thisModuleId); // same module
auto bin = Hist::bin(digi_view[i].yy() + 1);
auto end = hist.end(bin);
++p;
ALPAKA_ASSERT_OFFLOAD(0 == nnn[k]);
ALPAKA_ASSERT_ACC(0 == nnn[k]);
for (; p < end; ++p) {
auto m = *p + firstPixel;
ALPAKA_ASSERT_OFFLOAD(m != i);
ALPAKA_ASSERT_OFFLOAD(int(digi_view[m].yy()) - int(digi_view[i].yy()) >= 0);
ALPAKA_ASSERT_OFFLOAD(int(digi_view[m].yy()) - int(digi_view[i].yy()) <= 1);
ALPAKA_ASSERT_ACC(m != i);
ALPAKA_ASSERT_ACC(int(digi_view[m].yy()) - int(digi_view[i].yy()) >= 0);
ALPAKA_ASSERT_ACC(int(digi_view[m].yy()) - int(digi_view[i].yy()) <= 1);
if (std::abs(int(digi_view[m].xx()) - int(digi_view[i].xx())) <= 1) {
auto l = nnn[k]++;
ALPAKA_ASSERT_OFFLOAD(l < maxNeighbours);
ALPAKA_ASSERT_ACC(l < maxNeighbours);
nn[k][l] = *p;
}
}
Expand All @@ -360,13 +360,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
more = false;
uint32_t k = 0;
for (uint32_t j : cms::alpakatools::independent_group_elements(acc, hist.size())) {
ALPAKA_ASSERT_OFFLOAD(k < maxIter);
ALPAKA_ASSERT_ACC(k < maxIter);
auto p = hist.begin() + j;
auto i = *p + firstPixel;
for (int kk = 0; kk < nnn[k]; ++kk) {
auto l = nn[k][kk];
auto m = l + firstPixel;
ALPAKA_ASSERT_OFFLOAD(m != i);
ALPAKA_ASSERT_ACC(m != i);
// FIXME ::Threads ?
auto old = alpaka::atomicMin(acc, &digi_view[m].clus(), digi_view[i].clus(), alpaka::hierarchy::Blocks{});
if (old != digi_view[i].clus()) {
Expand Down Expand Up @@ -404,7 +404,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering {
if (cms::alpakatools::once_per_block(acc))
n0 = nloops;
alpaka::syncBlockThreads(acc);
ALPAKA_ASSERT_OFFLOAD(alpaka::syncBlockThreadsPredicate<alpaka::BlockAnd>(acc, nloops == n0));
ALPAKA_ASSERT_ACC(alpaka::syncBlockThreadsPredicate<alpaka::BlockAnd>(acc, nloops == n0));
if (thisModuleId % 100 == 1)
if (cms::alpakatools::once_per_block(acc))
printf("# loops %d\n", nloops);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -432,16 +432,16 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
struct FillHitsModuleStart {
template <typename TAcc>
ALPAKA_FN_ACC void operator()(const TAcc &acc, SiPixelClustersSoAView clus_view) const {
ALPAKA_ASSERT_OFFLOAD(TrackerTraits::numberOfModules < 2048); // easy to extend at least till 32*1024
ALPAKA_ASSERT_ACC(TrackerTraits::numberOfModules < 2048); // easy to extend at least till 32*1024

constexpr int numberOfModules = TrackerTraits::numberOfModules;
constexpr uint32_t maxHitsInModule = TrackerTraits::maxHitsInModule;

#ifndef NDEBUG
[[maybe_unused]] const uint32_t blockIdxLocal(alpaka::getIdx<alpaka::Grid, alpaka::Blocks>(acc)[0u]);
ALPAKA_ASSERT_OFFLOAD(0 == blockIdxLocal);
ALPAKA_ASSERT_ACC(0 == blockIdxLocal);
[[maybe_unused]] const uint32_t gridDimension(alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0u]);
ALPAKA_ASSERT_OFFLOAD(1 == gridDimension);
ALPAKA_ASSERT_ACC(1 == gridDimension);
#endif

// limit to maxHitsInModule;
Expand Down Expand Up @@ -488,16 +488,16 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
alpaka::syncBlockThreads(acc);
}
#ifdef GPU_DEBUG
ALPAKA_ASSERT_OFFLOAD(0 == clus_view[0].moduleStart());
ALPAKA_ASSERT_ACC(0 == clus_view[0].moduleStart());
auto c0 = std::min(maxHitsInModule, clus_view[1].clusModuleStart());
ALPAKA_ASSERT_OFFLOAD(c0 == clus_view[1].moduleStart());
ALPAKA_ASSERT_OFFLOAD(clus_view[1024].moduleStart() >= clus_view[1023].moduleStart());
ALPAKA_ASSERT_OFFLOAD(clus_view[1025].moduleStart() >= clus_view[1024].moduleStart());
ALPAKA_ASSERT_OFFLOAD(clus_view[numberOfModules].moduleStart() >= clus_view[1025].moduleStart());
ALPAKA_ASSERT_ACC(c0 == clus_view[1].moduleStart());
ALPAKA_ASSERT_ACC(clus_view[1024].moduleStart() >= clus_view[1023].moduleStart());
ALPAKA_ASSERT_ACC(clus_view[1025].moduleStart() >= clus_view[1024].moduleStart());
ALPAKA_ASSERT_ACC(clus_view[numberOfModules].moduleStart() >= clus_view[1025].moduleStart());

for (uint32_t i : cms::alpakatools::independent_group_elements(acc, numberOfModules + 1)) {
if (0 != i)
ALPAKA_ASSERT_OFFLOAD(clus_view[i].moduleStart() >= clus_view[i - 1].moduleStart());
ALPAKA_ASSERT_ACC(clus_view[i].moduleStart() >= clus_view[i - 1].moduleStart());
// Check BPX2 (1), FP1 (4)
constexpr auto bpix2 = TrackerTraits::layerStart[1];
constexpr auto fpix1 = TrackerTraits::layerStart[4];
Expand Down
12 changes: 6 additions & 6 deletions RecoLocalTracker/SiPixelRecHits/plugins/alpaka/PixelRecHits.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
uint32_t nonEmptyModules,
SiPixelClustersSoAConstView clusters,
TrackingRecHitSoAView<TrackerTraits> hits) const {
ALPAKA_ASSERT_OFFLOAD(cpeParams);
ALPAKA_ASSERT_ACC(cpeParams);

// outer loop: one block per module
for (uint32_t module : cms::alpakatools::independent_groups(acc, nonEmptyModules)) {
Expand Down Expand Up @@ -80,7 +80,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
auto k = clusters[1 + module].moduleStart();
while (digis[k].moduleId() == invalidModuleId)
++k;
ALPAKA_ASSERT_OFFLOAD(digis[k].moduleId() == me);
ALPAKA_ASSERT_ACC(digis[k].moduleId() == me);
}

if (me % 100 == 1)
Expand Down Expand Up @@ -129,8 +129,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
if (cl < startClus || cl >= lastClus)
continue;
cl -= startClus;
ALPAKA_ASSERT_OFFLOAD(cl >= 0);
ALPAKA_ASSERT_OFFLOAD(cl < maxHitsInIter);
ALPAKA_ASSERT_ACC(cl >= 0);
ALPAKA_ASSERT_ACC(cl < maxHitsInIter);
auto x = digis[i].xx();
auto y = digis[i].yy();
alpaka::atomicMin(acc, &clusParams.minRow[cl], (uint32_t)x, alpaka::hierarchy::Threads{});
Expand All @@ -152,8 +152,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
if (cl < startClus || cl >= lastClus)
continue;
cl -= startClus;
ALPAKA_ASSERT_OFFLOAD(cl >= 0);
ALPAKA_ASSERT_OFFLOAD(cl < maxHitsInIter);
ALPAKA_ASSERT_ACC(cl >= 0);
ALPAKA_ASSERT_ACC(cl < maxHitsInIter);
auto x = digis[i].xx();
auto y = digis[i].yy();
auto ch = digis[i].adc();
Expand Down
46 changes: 23 additions & 23 deletions RecoTracker/PixelSeeding/plugins/alpaka/BrokenLineFit.dev.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,17 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
constexpr uint32_t hitsInFit = N;
constexpr auto invalidTkId = std::numeric_limits<typename TrackerTraits::tindex_type>::max();

ALPAKA_ASSERT_OFFLOAD(hitsInFit <= nHitsL);
ALPAKA_ASSERT_OFFLOAD(nHitsL <= nHitsH);
ALPAKA_ASSERT_OFFLOAD(phits);
ALPAKA_ASSERT_OFFLOAD(pfast_fit);
ALPAKA_ASSERT_OFFLOAD(foundNtuplets);
ALPAKA_ASSERT_OFFLOAD(tupleMultiplicity);
ALPAKA_ASSERT_ACC(hitsInFit <= nHitsL);
ALPAKA_ASSERT_ACC(nHitsL <= nHitsH);
ALPAKA_ASSERT_ACC(phits);
ALPAKA_ASSERT_ACC(pfast_fit);
ALPAKA_ASSERT_ACC(foundNtuplets);
ALPAKA_ASSERT_ACC(tupleMultiplicity);

// look in bin for this hit multiplicity
int totTK = tupleMultiplicity->end(nHitsH) - tupleMultiplicity->begin(nHitsL);
ALPAKA_ASSERT_OFFLOAD(totTK <= int(tupleMultiplicity->size()));
ALPAKA_ASSERT_OFFLOAD(totTK >= 0);
ALPAKA_ASSERT_ACC(totTK <= int(tupleMultiplicity->size()));
ALPAKA_ASSERT_ACC(totTK >= 0);

#ifdef BROKENLINE_DEBUG
const uint32_t threadIdx(alpaka::getIdx<alpaka::Grid, alpaka::Threads>(acc)[0u]);
Expand All @@ -70,14 +70,14 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
}
// get it from the ntuple container (one to one to helix)
auto tkid = *(tupleMultiplicity->begin(nHitsL) + tuple_idx);
ALPAKA_ASSERT_OFFLOAD(static_cast<int>(tkid) < foundNtuplets->nOnes());
ALPAKA_ASSERT_ACC(static_cast<int>(tkid) < foundNtuplets->nOnes());

ptkids[local_idx] = tkid;

auto nHits = foundNtuplets->size(tkid);

ALPAKA_ASSERT_OFFLOAD(nHits >= nHitsL);
ALPAKA_ASSERT_OFFLOAD(nHits <= nHitsH);
ALPAKA_ASSERT_ACC(nHits >= nHitsL);
ALPAKA_ASSERT_ACC(nHits <= nHitsH);

riemannFit::Map3xNd<N> hits(phits + local_idx);
riemannFit::Map4d fast_fit(pfast_fit + local_idx);
Expand Down Expand Up @@ -109,7 +109,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
int j = int(n + 0.5f); // round
if (hitsInFit - 1 == i)
j = nHits - 1; // force last hit to ensure max lever arm.
ALPAKA_ASSERT_OFFLOAD(j < int(nHits));
ALPAKA_ASSERT_ACC(j < int(nHits));
n += incr;
auto hit = hitId[j];
float ge[6];
Expand All @@ -118,7 +118,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
auto const &dp = cpeParams->detParams(hh.detectorIndex(hit));
auto status = hh[hit].chargeAndStatus().status;
int qbin = CPEFastParametrisation::kGenErrorQBins - 1 - status.qBin;
ALPAKA_ASSERT_OFFLOAD(qbin >= 0 && qbin < 5);
ALPAKA_ASSERT_ACC(qbin >= 0 && qbin < 5);
bool nok = (status.isBigY | status.isOneY);
// compute cotanbeta and use it to recompute error
dp.frame.rotation().multiply(dx, dy, dz, ux, uy, uz);
Expand Down Expand Up @@ -161,10 +161,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
brokenline::fastFit(acc, hits, fast_fit);

// no NaN here....
ALPAKA_ASSERT_OFFLOAD(fast_fit(0) == fast_fit(0));
ALPAKA_ASSERT_OFFLOAD(fast_fit(1) == fast_fit(1));
ALPAKA_ASSERT_OFFLOAD(fast_fit(2) == fast_fit(2));
ALPAKA_ASSERT_OFFLOAD(fast_fit(3) == fast_fit(3));
ALPAKA_ASSERT_ACC(fast_fit(0) == fast_fit(0));
ALPAKA_ASSERT_ACC(fast_fit(1) == fast_fit(1));
ALPAKA_ASSERT_ACC(fast_fit(2) == fast_fit(2));
ALPAKA_ASSERT_ACC(fast_fit(3) == fast_fit(3));
}
}
};
Expand All @@ -181,10 +181,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
double *__restrict__ phits,
float *__restrict__ phits_ge,
double *__restrict__ pfast_fit) const {
ALPAKA_ASSERT_OFFLOAD(results_view.pt());
ALPAKA_ASSERT_OFFLOAD(results_view.eta());
ALPAKA_ASSERT_OFFLOAD(results_view.chi2());
ALPAKA_ASSERT_OFFLOAD(pfast_fit);
ALPAKA_ASSERT_ACC(results_view.pt());
ALPAKA_ASSERT_ACC(results_view.eta());
ALPAKA_ASSERT_ACC(results_view.chi2());
ALPAKA_ASSERT_ACC(pfast_fit);
constexpr auto invalidTkId = std::numeric_limits<typename TrackerTraits::tindex_type>::max();

// same as above...
Expand All @@ -195,7 +195,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
break;
auto tkid = ptkids[local_idx];

ALPAKA_ASSERT_OFFLOAD(tkid < TrackerTraits::maxNumberOfTuples);
ALPAKA_ASSERT_ACC(tkid < TrackerTraits::maxNumberOfTuples);

riemannFit::Map3xNd<N> hits(phits + local_idx);
riemannFit::Map4d fast_fit(pfast_fit + local_idx);
Expand Down Expand Up @@ -247,7 +247,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
uint32_t hitsInFit,
uint32_t maxNumberOfTuples,
Queue &queue) {
ALPAKA_ASSERT_OFFLOAD(tuples_);
ALPAKA_ASSERT_ACC(tuples_);

uint32_t blockSize = 64;
uint32_t numberOfBlocks = cms::alpakatools::divide_up_by(maxNumberOfConcurrentFits_, blockSize);
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/PixelSeeding/plugins/alpaka/CACell.h
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {

if constexpr (DEPTH <= 0) {
printf("ERROR: CACellT::find_ntuplets reached full depth!\n");
ALPAKA_ASSERT_OFFLOAD(false);
ALPAKA_ASSERT_ACC(false);
} else {
auto doubletId = this - cells;
tmpNtuplet.push_back_unsafe(doubletId);
ALPAKA_ASSERT_OFFLOAD(tmpNtuplet.size() <= int(TrackerTraits::maxHitsOnTrack - 3));
ALPAKA_ASSERT_ACC(tmpNtuplet.size() <= int(TrackerTraits::maxHitsOnTrack - 3));

bool last = true;
for (unsigned int otherCell : outerNeighbors()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
#endif

// in principle we can use "nhits" to heuristically dimension the workspace...
ALPAKA_ASSERT_OFFLOAD(this->device_isOuterHitOfCell_.data());
ALPAKA_ASSERT_ACC(this->device_isOuterHitOfCell_.data());

alpaka::exec<Acc1D>(
queue,
Expand Down
Loading

0 comments on commit 856ec61

Please sign in to comment.