Loading CMakeLists.txt +5 −4 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ else() set( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/lib) set( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/bin) #OptimizeForArchitecture() AddCompilerFlag( "-O3 -march=native -DNDEBUG" ) AddCompilerFlag( "-O3 -march=native -DNDEBUG -g" ) endif() ##### Loading @@ -56,7 +56,7 @@ if( WITH_CUDA STREQUAL "yes" ) set(BUILD_SHARED_LIBS ON) set(CUDA_SEPARABLE_COMPILATION ON) set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ; -DHAVE_CUDA ) AddCompilerFlag( "-DHAVE_NOT_CXX11" ) # -U_GLIBCXX_ATOMIC_BUILTINS -U_GLIBCXX_USE_INT128 " ) #AddCompilerFlag( "-DHAVE_NOT_CXX11" ) # -U_GLIBCXX_ATOMIC_BUILTINS -U_GLIBCXX_USE_INT128 " ) set( ALL_CUDA_ARCHS -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 Loading Loading @@ -150,6 +150,7 @@ else( WITH_CUDA STREQUAL "yes" ) #AddCompilerFlag( "-std=gnu++0x -ftree-vectorizer-verbose=1" ) AddCompilerFlag( "-std=c++11" ) endif( WITH_CUDA STREQUAL "yes" ) AddCompilerFlag( "-std=c++11" ) #### # Check for OpenMP Loading @@ -157,7 +158,7 @@ endif( WITH_CUDA STREQUAL "yes" ) find_package( OpenMP ) if( OPENMP_FOUND ) message( "Compiler supports OpenMP." ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENMP -fopenmp") #set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENMP -fopenmp") endif() #### Loading ChangeLog +11 −0 Original line number Diff line number Diff line 2015-12-25 Tomas Oberhuber <tomas.oberhuber@fjfi.cvut.cz> * significant changes in grids - the central structure is now grid entity rather than grid itself - specialization of cells for cross stencils was implemented -- they store indexes of neighbhour cells - it currently does not work with nvcc compiler - grid traversers takes entity type instead of entity dimensions as a templated argument * mesh function was implemented * boundary conditions were refactored a simplified - there is no need to have analytic and discrete types of boundary conditions * tnl-quickstart does not generate correct code now 2012-10-05 Tomas Oberhuber <tomas.oberhuber@fjfi.cvut.cz> * src/mesh/detail/container.h: Loading TODO +22 −2 Original line number Diff line number Diff line TODO: - zavest namespaces TODO: CUDA unified memory - pretizit operator new s cudaMallocManaged, pak by bylo mozne vytvaret CUDA objekty pristupne pro host a device - v TNL solveru by pak vlastne jen stacilo vytvaret objekty pomoci new - zrejme bude nutne pretizit i delete - pokud jde o MeshDependentData, stacilo by, aby uzivatel pretizil operator new a delete. Pokud by to neudelal, mohlo by se s nimi pracovat postaru - 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 * vsechny traits zkusit presunout do jednotneho MeshTraits, tj. temer MeshConfigTraits ale pojmenovat jako MeshTraits * omezit tnlDimesnionsTag - asi to ale nepujde Loading @@ -16,8 +32,12 @@ TODO: implementace maticovych resicu * TFQMR metoda * IDR metody TODO: Nahradit sablonovy parametr dimenze sitove entity za typ entity. V pripade hran gridu, by ty v sobe mohly mit i orientaci. Asi by to bylo vyhodne i pro site se smisenym typem entit. TODO: Nahradit sablonovy parametr dimenze sitove entity za typ entity. Pak by se mohlo zkusit, napriklad u gridu odvozovat entity, ktere obsahuji predpocitane indexy pro dopredne, zpetne, nebo centralni diference. Uzivatel by si mohl definovat vlastni entity. Mohlo by to zvysit efektivitu. U nestrukturovanych siti by se do entit mohly doplnovat ukazatele na struktury s dalsimi informacemi jako objemy nebo delky entyt apod. za tim ucelem nahradit setIndex v grdi entity za update(), aby to bylo obecnejsi TODO: implementovat tridu tnlFileName pro generovani jmen souboru Loading build +4 −3 Original line number Diff line number Diff line Loading @@ -8,11 +8,11 @@ WITH_TESTS="yes" WITH_CUDA_ARCH="auto" WITH_CUBLAS="no" WITH_TEMPLATE_INSTANTIATION="yes" INSTANTIATE_LONG_INT="yes" INSTANTIATE_LONG_INT="no" INSTANTIATE_INT="yes" INSTANTIATE_LONG_DOUBLE="yes" INSTANTIATE_LONG_DOUBLE="no" INSTANTIATE_DOUBLE="yes" INSTANTIATE_FLOAT="yes" INSTANTIATE_FLOAT="no" CMAKE="cmake" CMAKE_ONLY="no" HELP="no" Loading Loading @@ -65,6 +65,7 @@ then echo " --with-cuda=yes/no Enable CUDA. 'yes' by default (CUDA Toolkit is required)." echo " --with-cuda-arch=all/auto/30/35/... Choose CUDA architecture." echo " --with-templates-instantiation=yes/no Some TNL templates are precompiled during the build. 'yes' by default." echo " --full-build Instantiate all -- long int indexing, float and long double floating point arithmetics." echo " --with-cmake=CMAKE Path to cmake. 'cmake' by default." echo " --build-jobs=NUM Number of processes to be used for the build. It is set to a number of CPU cores by default." echo " --verbose It enables verbose build." Loading examples/heat-equation/CMakeLists.txt +4 −1 Original line number Diff line number Diff line set( tnl_heat_equation_SOURCES tnl-heat-equation.cpp tnl-heat-equation-eoc.cpp ) tnl-heat-equation-eoc.cpp tnl-heat-equation.cu tnl-heat-equation-eoc.cu ) IF( BUILD_CUDA ) CUDA_ADD_EXECUTABLE(tnl-heat-equation${debugExt} tnl-heat-equation.cu) Loading @@ -22,4 +24,5 @@ INSTALL( TARGETS tnl-heat-equation${debugExt} INSTALL( FILES tnl-run-heat-equation-eoc-test tnl-run-heat-equation ${tnl_heat_equation_SOURCES} DESTINATION share/tnl-${tnlVersion}/examples/heat-equation ) Loading
CMakeLists.txt +5 −4 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ else() set( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/lib) set( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/bin) #OptimizeForArchitecture() AddCompilerFlag( "-O3 -march=native -DNDEBUG" ) AddCompilerFlag( "-O3 -march=native -DNDEBUG -g" ) endif() ##### Loading @@ -56,7 +56,7 @@ if( WITH_CUDA STREQUAL "yes" ) set(BUILD_SHARED_LIBS ON) set(CUDA_SEPARABLE_COMPILATION ON) set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ; -DHAVE_CUDA ) AddCompilerFlag( "-DHAVE_NOT_CXX11" ) # -U_GLIBCXX_ATOMIC_BUILTINS -U_GLIBCXX_USE_INT128 " ) #AddCompilerFlag( "-DHAVE_NOT_CXX11" ) # -U_GLIBCXX_ATOMIC_BUILTINS -U_GLIBCXX_USE_INT128 " ) set( ALL_CUDA_ARCHS -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 Loading Loading @@ -150,6 +150,7 @@ else( WITH_CUDA STREQUAL "yes" ) #AddCompilerFlag( "-std=gnu++0x -ftree-vectorizer-verbose=1" ) AddCompilerFlag( "-std=c++11" ) endif( WITH_CUDA STREQUAL "yes" ) AddCompilerFlag( "-std=c++11" ) #### # Check for OpenMP Loading @@ -157,7 +158,7 @@ endif( WITH_CUDA STREQUAL "yes" ) find_package( OpenMP ) if( OPENMP_FOUND ) message( "Compiler supports OpenMP." ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENMP -fopenmp") #set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENMP -fopenmp") endif() #### Loading
ChangeLog +11 −0 Original line number Diff line number Diff line 2015-12-25 Tomas Oberhuber <tomas.oberhuber@fjfi.cvut.cz> * significant changes in grids - the central structure is now grid entity rather than grid itself - specialization of cells for cross stencils was implemented -- they store indexes of neighbhour cells - it currently does not work with nvcc compiler - grid traversers takes entity type instead of entity dimensions as a templated argument * mesh function was implemented * boundary conditions were refactored a simplified - there is no need to have analytic and discrete types of boundary conditions * tnl-quickstart does not generate correct code now 2012-10-05 Tomas Oberhuber <tomas.oberhuber@fjfi.cvut.cz> * src/mesh/detail/container.h: Loading
TODO +22 −2 Original line number Diff line number Diff line TODO: - zavest namespaces TODO: CUDA unified memory - pretizit operator new s cudaMallocManaged, pak by bylo mozne vytvaret CUDA objekty pristupne pro host a device - v TNL solveru by pak vlastne jen stacilo vytvaret objekty pomoci new - zrejme bude nutne pretizit i delete - pokud jde o MeshDependentData, stacilo by, aby uzivatel pretizil operator new a delete. Pokud by to neudelal, mohlo by se s nimi pracovat postaru - 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 * vsechny traits zkusit presunout do jednotneho MeshTraits, tj. temer MeshConfigTraits ale pojmenovat jako MeshTraits * omezit tnlDimesnionsTag - asi to ale nepujde Loading @@ -16,8 +32,12 @@ TODO: implementace maticovych resicu * TFQMR metoda * IDR metody TODO: Nahradit sablonovy parametr dimenze sitove entity za typ entity. V pripade hran gridu, by ty v sobe mohly mit i orientaci. Asi by to bylo vyhodne i pro site se smisenym typem entit. TODO: Nahradit sablonovy parametr dimenze sitove entity za typ entity. Pak by se mohlo zkusit, napriklad u gridu odvozovat entity, ktere obsahuji predpocitane indexy pro dopredne, zpetne, nebo centralni diference. Uzivatel by si mohl definovat vlastni entity. Mohlo by to zvysit efektivitu. U nestrukturovanych siti by se do entit mohly doplnovat ukazatele na struktury s dalsimi informacemi jako objemy nebo delky entyt apod. za tim ucelem nahradit setIndex v grdi entity za update(), aby to bylo obecnejsi TODO: implementovat tridu tnlFileName pro generovani jmen souboru Loading
build +4 −3 Original line number Diff line number Diff line Loading @@ -8,11 +8,11 @@ WITH_TESTS="yes" WITH_CUDA_ARCH="auto" WITH_CUBLAS="no" WITH_TEMPLATE_INSTANTIATION="yes" INSTANTIATE_LONG_INT="yes" INSTANTIATE_LONG_INT="no" INSTANTIATE_INT="yes" INSTANTIATE_LONG_DOUBLE="yes" INSTANTIATE_LONG_DOUBLE="no" INSTANTIATE_DOUBLE="yes" INSTANTIATE_FLOAT="yes" INSTANTIATE_FLOAT="no" CMAKE="cmake" CMAKE_ONLY="no" HELP="no" Loading Loading @@ -65,6 +65,7 @@ then echo " --with-cuda=yes/no Enable CUDA. 'yes' by default (CUDA Toolkit is required)." echo " --with-cuda-arch=all/auto/30/35/... Choose CUDA architecture." echo " --with-templates-instantiation=yes/no Some TNL templates are precompiled during the build. 'yes' by default." echo " --full-build Instantiate all -- long int indexing, float and long double floating point arithmetics." echo " --with-cmake=CMAKE Path to cmake. 'cmake' by default." echo " --build-jobs=NUM Number of processes to be used for the build. It is set to a number of CPU cores by default." echo " --verbose It enables verbose build." Loading
examples/heat-equation/CMakeLists.txt +4 −1 Original line number Diff line number Diff line set( tnl_heat_equation_SOURCES tnl-heat-equation.cpp tnl-heat-equation-eoc.cpp ) tnl-heat-equation-eoc.cpp tnl-heat-equation.cu tnl-heat-equation-eoc.cu ) IF( BUILD_CUDA ) CUDA_ADD_EXECUTABLE(tnl-heat-equation${debugExt} tnl-heat-equation.cu) Loading @@ -22,4 +24,5 @@ INSTALL( TARGETS tnl-heat-equation${debugExt} INSTALL( FILES tnl-run-heat-equation-eoc-test tnl-run-heat-equation ${tnl_heat_equation_SOURCES} DESTINATION share/tnl-${tnlVersion}/examples/heat-equation )