@@ -66,6 +66,7 @@ public:
6666 GridHandle<BufferT>
6767 getHandle (const BufferT &buffer = BufferT());
6868
69+ private:
6970 void dilateRoot ();
7071
7172 void dilateInternalNodes ();
@@ -74,7 +75,6 @@ public:
7475
7576 void dilateLeafNodes ();
7677
77- private:
7878 static constexpr unsigned int mNumThreads = 128 ;// for kernels spawned via lambdaKernel (others may specialize)
7979 static unsigned int numBlocks (unsigned int n) {return (n + mNumThreads - 1 ) / mNumThreads ;}
8080
@@ -85,9 +85,6 @@ private:
8585 const GridT *mDeviceSrcGrid ;
8686 morphology::NearestNeighbors mOp {morphology::NN_FACE_EDGE_VERTEX};
8787 TreeData mSrcTreeData ;
88-
89- public:
90- const GridT* deviceSrcGrid () const { return mDeviceSrcGrid ; }
9188};// tools::cuda::DilateGrid<BuildT>
9289
9390// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -238,17 +235,17 @@ void DilateGrid<BuildT>::dilateInternalNodes()
238235 using Op = util::morphology::cuda::DilateInternalNodesFunctor<BuildT, morphology::NN_FACE>;
239236 util::cuda::operatorKernel<Op>
240237 <<<dim3 (mSrcTreeData .mNodeCount [1 ],Op::SlicesPerLowerNode,1 ), Op::MaxThreadsPerBlock, 0 , mStream >>>
241- (deviceSrcGrid () , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
238+ (mDeviceSrcGrid , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
242239 else if (mOp == morphology::NN_FACE_EDGE) {
243240 using Op = util::morphology::cuda::DilateInternalNodesFunctor<BuildT, morphology::NN_FACE_EDGE>;
244241 util::cuda::operatorKernel<Op>
245242 <<<dim3 (mSrcTreeData .mNodeCount [1 ],Op::SlicesPerLowerNode,1 ), Op::MaxThreadsPerBlock, 0 , mStream >>>
246- (deviceSrcGrid () , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
243+ (mDeviceSrcGrid , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
247244 else if (mOp == morphology::NN_FACE_EDGE_VERTEX) {
248245 using Op = util::morphology::cuda::DilateInternalNodesFunctor<BuildT, morphology::NN_FACE_EDGE_VERTEX>;
249246 util::cuda::operatorKernel<Op>
250247 <<<dim3 (mSrcTreeData .mNodeCount [1 ],Op::SlicesPerLowerNode,1 ), Op::MaxThreadsPerBlock, 0 , mStream >>>
251- (deviceSrcGrid () , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
248+ (mDeviceSrcGrid , mBuilder .deviceProcessedRoot (), mBuilder .deviceUpperMasks (), mBuilder .deviceLowerMasks ()); }
252249 }
253250}// DilateGrid<BuildT>::dilateInternalNodes
254251
@@ -259,7 +256,7 @@ void DilateGrid<BuildT>::processGridTreeRoot()
259256{
260257 // Copy GridData from source grid
261258 // By convention: this will duplicate grid name and map. Others will be reset later
262- cudaCheck (cudaMemcpyAsync (&mBuilder .data ()->getGrid (), deviceSrcGrid () ->data (), GridT::memUsage (), cudaMemcpyDeviceToDevice, mStream ));
259+ cudaCheck (cudaMemcpyAsync (&mBuilder .data ()->getGrid (), mDeviceSrcGrid ->data (), GridT::memUsage (), cudaMemcpyDeviceToDevice, mStream ));
263260 util::cuda::lambdaKernel<<<1 , 1 , 0 , mStream >>> (1 , topology::detail::BuildGridTreeRootFunctor<BuildT>(), mBuilder .deviceData ());
264261 cudaCheckError ();
265262}// DilateGrid<BuildT>::processGridTreeRoot
@@ -276,14 +273,14 @@ void DilateGrid<BuildT>::dilateLeafNodes()
276273 using Op = util::morphology::cuda::DilateLeafNodesFunctor<BuildT, morphology::NN_FACE>;
277274 util::cuda::operatorKernel<Op>
278275 <<<dim3 (mBuilder .data()->nodeCount[1 ],Op::SlicesPerLowerNode,1 ), Op::MaxThreadsPerBlock, 0 , mStream >>>
279- (deviceSrcGrid () , static_cast <GridT*>(mBuilder .data ()->d_bufferPtr )); }
276+ (mDeviceSrcGrid , static_cast <GridT*>(mBuilder .data ()->d_bufferPtr )); }
280277 else if (mOp == morphology::NN_FACE_EDGE)
281278 throw std::runtime_error (" dilateLeafNodes() not implemented for NN_FACE_EDGE stencil" );
282279 else if (mOp == morphology::NN_FACE_EDGE_VERTEX) {
283280 using Op = util::morphology::cuda::DilateLeafNodesFunctor<BuildT, morphology::NN_FACE_EDGE_VERTEX>;
284281 util::cuda::operatorKernel<Op>
285282 <<<dim3 (mBuilder .data()->nodeCount[1 ],Op::SlicesPerLowerNode,1 ), Op::MaxThreadsPerBlock>>>
286- (deviceSrcGrid () , static_cast <GridT*>(mBuilder .data ()->d_bufferPtr )); }
283+ (mDeviceSrcGrid , static_cast <GridT*>(mBuilder .data ()->d_bufferPtr )); }
287284 }
288285
289286 // Update leaf offsets and prefix sums
0 commit comments