Skip to content
Snippets Groups Projects
Commit df621c16 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Adding binding of mesh functions.

parent d1ef48e7
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,11 @@ TODO: ...@@ -10,6 +10,11 @@ TODO:
- data by se na hostu preskupila do souvisleho bloku dat a ten se prenesl najednou - data by se na hostu preskupila do souvisleho bloku dat a ten se prenesl najednou
TODO:
- zrejme bude potreba udrzovat ke kazdemu objektu jeho obraz na GPU/MIC
- to by zarizovala metoda syncToDevice() napr. kazdy objekt by mel promennou modified, ktera by rikala, jestli se zmenil a zda je nutne ho
prekopirovavat
TODO: TODO:
- zavest namespaces - zavest namespaces
...@@ -21,11 +26,6 @@ TODO: CUDA unified memory ...@@ -21,11 +26,6 @@ TODO: CUDA unified memory
se s nimi pracovat postaru se s nimi pracovat postaru
- bylo by dobre to obalit unique poinetry, aby se nemusela delat dealokace rucne - bylo by dobre to obalit unique poinetry, aby se nemusela delat dealokace rucne
TODO: shared pointery
- mohli bysme pomoci nich odstranit Shared objekty
- asi by bylo lepsi datcounter z shared pointeru primo do array a tento counter by se alokoval az po porvnim sdileni dat
- diky tomu by se array mohlo vytvaret i na gpu bez nutnosti dynamicke alokace, jen by nebylo mozne delat bind (nebo nejaky zjednoduseny)
TODO: Mesh TODO: Mesh
* vsechny traits zkusit presunout do jednotneho MeshTraits, tj. temer MeshConfigTraits ale pojmenovat jako MeshTraits * vsechny traits zkusit presunout do jednotneho MeshTraits, tj. temer MeshConfigTraits ale pojmenovat jako MeshTraits
* omezit tnlDimesnionsTag - asi to ale nepujde * omezit tnlDimesnionsTag - asi to ale nepujde
......
...@@ -66,6 +66,8 @@ class tnlMeshFunction : ...@@ -66,6 +66,8 @@ class tnlMeshFunction :
bool setup( const tnlParameterContainer& parameters, bool setup( const tnlParameterContainer& parameters,
const tnlString& prefix = "" ); const tnlString& prefix = "" );
void bind( ThisType& meshFunction );
template< typename Vector > template< typename Vector >
void bind( const MeshType& mesh, void bind( const MeshType& mesh,
const Vector& data, const Vector& data,
......
...@@ -133,6 +133,17 @@ setup( const tnlParameterContainer& parameters, ...@@ -133,6 +133,17 @@ setup( const tnlParameterContainer& parameters,
return true; return true;
} }
template< typename Mesh,
int MeshEntityDimensions,
typename Real >
void
tnlMeshFunction< Mesh, MeshEntityDimensions, Real >::
bind( tnlMeshFunction< Mesh, MeshEntityDimensions, Real >& meshFunction )
{
this->mesh = meshFunction.getMesh();
this->data.bind( meshFunction.getData() );
}
template< typename Mesh, template< typename Mesh,
int MeshEntityDimensions, int MeshEntityDimensions,
typename Real > typename Real >
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment