Commit e202036e authored by Jakub Klinkovský's avatar Jakub Klinkovský

Reimplemented mesh traverser using ParallelFor

parent 11ba9c9f
This diff is collapsed.
......@@ -18,6 +18,7 @@ namespace Meshes {
template< typename Mesh,
typename MeshEntity,
// extra parameter which is used only for specializations implementing grid traversers
int EntitiesDimension = MeshEntity::getEntityDimension() >
class Traverser
{
......@@ -25,6 +26,7 @@ class Traverser
using MeshType = Mesh;
using MeshPointer = Pointers::SharedPointer< MeshType >;
using DeviceType = typename MeshType::DeviceType;
using GlobalIndexType = typename MeshType::GlobalIndexType;
template< typename EntitiesProcessor,
typename UserData >
......@@ -42,32 +44,6 @@ class Traverser
UserData userData ) const;
};
template< typename MeshConfig,
typename MeshEntity,
int EntitiesDimension >
class Traverser< Mesh< MeshConfig, Devices::Cuda >, MeshEntity, EntitiesDimension >
{
public:
using MeshType = Mesh< MeshConfig, Devices::Cuda >;
using MeshPointer = Pointers::SharedPointer< MeshType >;
using DeviceType = typename MeshType::DeviceType;
template< typename EntitiesProcessor,
typename UserData >
void processBoundaryEntities( const MeshPointer& meshPointer,
UserData userData ) const;
template< typename EntitiesProcessor,
typename UserData >
void processInteriorEntities( const MeshPointer& meshPointer,
UserData userData ) const;
template< typename EntitiesProcessor,
typename UserData >
void processAllEntities( const MeshPointer& meshPointer,
UserData userData ) const;
};
} // namespace Meshes
} // namespace TNL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment