Commit 56541aee authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

TNL is now build as one library, linking is easier.

Adding new class tnlArrayManager for managing arrays - allocation/deallocation, load and save functions etc.
tnlVector is derived from tnlArrayManager.
parent eb5820e0
Loading
Loading
Loading
Loading
+1353 −55

File changed.

Preview size limit exceeded, changes collapsed.

+1 −2
Original line number Diff line number Diff line
@@ -106,11 +106,10 @@ if( NOT WITH_CUDA STREQUAL "no" )
                      NAME cusparse 
                      HINTS ${CUSPARSE_LINK_DIR_HINT}/lib
                      DOC "CUSPARSE library" )                                                                  
        if( ${CUSPARSE_LIBRARY} STREQUAL "TNL_LIBRARY-NOTFOUND" )
        if( ${CUSPARSE_LIBRARY} STREQUAL "CUSPARSE_LIBRARY-NOTFOUND" )
            message( "Cannot find CUSPARSE library." )
        endif()    
        string( REPLACE "/libcusparse.so" "" CUSPARSE_LINK_DIRECTORY ${CUSPARSE_LIBRARY} )
        message( ${CUSPARSE_LINK_DIRECTORY} )
        link_directories( ${CUSPARSE_LINK_DIRECTORY} )
            
    endif( CUDA_FOUND )
+20 −85
Original line number Diff line number Diff line
2012-07-09  oberhuber  <oberhuber@yvonne>

	* src/core/tnlVectorBase.h: Removed.
	* src/core/tnlArrayManager.h: New file.
	* src/core/tnlArrayManagerBase.h: New file.
	* src/core/tnlArrayManagerCUDA.h: New file.
	* src/core/tnlArrayManagerHost.h: New file.
	* tests/unit-tests/core/tnlArrayManagerTester.h: New file.
	  - adding tnlArrayManager for basic operations with arrays - allocation/deallocation, load/save from/to file
	* CMakeLists.txt:
	  - fixing problem with linking of TNL, it is build as one library 
	* src/core/CMakeLists.txt: 
	* src/core/tnlCommunicator.h: 
	* src/core/tnlObject.h (tnlObject): 
	* src/core/tnlVector.h: 
	  - refactoring tnlVector - some methods were moved to tnlArrayManager
	* src/core/tnlVectorCUDA.h: 
	* src/core/tnlVectorHost.h: 
	* TODO: 

2011-06-29  oberhuber  <oberhuber@yvonne>

	* cmake/AddCompilerFlag.cmake: New file.
@@ -27,91 +47,6 @@
	* tools/src/tnl-matrix-convert.cpp: 
	* tools/src/tnlcurve2gnuplot.cpp: 

2011-06-14  oberhuber  <oberhuber@yvonne>

    - converting project to CMake
	* Makefile.am: Removed.
	* tests/convert-matrices: Removed.
	* tests/cuda-profiler.conf: Removed.
	* tests/draw-matrices: Removed.
	* tests/florida-matrix-market: Removed.
	* tests/get-matrices: Removed.
	* tests/matrix-formats-test.cfg.desc: Removed.
	* tests/matrix-market: Removed.
	* tests/matrix-solvers-benchmark.cfg.desc: Removed.
	* tests/matrix-solvers-benchmark.cpp: Removed.
	* tests/matrix-solvers-benchmark.h: Removed.
	* tests/process-cuda-profile.pl: Removed.
	* tests/ReorderCSR.cpp: Removed.
	* tests/run-matrix-solvers-benchmark: Removed.
	* tests/run-sparse-matrix-benchmark: Removed.
	* tests/sparse-matrix-benchmark.cfg.desc: Removed.
	* tests/sparse-matrix-benchmark.cpp: Removed.
	* tests/sparse-matrix-benchmark.cu: Removed.
	* tests/sparse-matrix-benchmark.h: Removed.
	* tests/tnl-benchmarks.cpp: Removed.
	* tests/tnl-benchmarks.h: Removed.
	* tests/tnlSpmvBenchmark.h: Removed.
	* tests/tnlSpmvBenchmarkAdaptiveRgCSRMatrix.h: Removed.
	* tests/tnlSpmvBenchmarkCSRMatrix.h: Removed.
	* tests/tnlSpmvBenchmarkHybridMatrix.h: Removed.
	* tests/tnlSpmvBenchmarkRgCSRMatrix.h: Removed.
	* src/config/Makefile: New file.
	* src/core/low-level/Makefile: New file.
	* src/core/Makefile: New file.
	* src/debug/Makefile: New file.
	* src/diff/Makefile: New file.
	* src/mesh/Makefile: New file.
	* src/solver/Makefile: New file.
	* tests/benchmarks/CMakeLists.txt: New file.
	* tests/benchmarks/matrix-solvers-benchmark.cpp: New file.
	* tests/benchmarks/matrix-solvers-benchmark.h: New file.
	* tests/benchmarks/ReorderCSR.cpp: New file.
	* tests/benchmarks/share/CMakeLists.txt: New file.
	* tests/benchmarks/share/convert-matrices: New file.
	* tests/benchmarks/share/cuda-profiler.conf: New file.
	* tests/benchmarks/share/draw-matrices: New file.
	* tests/benchmarks/share/florida-matrix-market: New file.
	* tests/benchmarks/share/get-matrices: New file.
	* tests/benchmarks/share/matrix-market: New file.
	* tests/benchmarks/share/matrix-solvers-benchmark.cfg.desc: New file.
	* tests/benchmarks/share/process-cuda-profile.pl: New file.
	* tests/benchmarks/share/run-matrix-solvers-benchmark: New file.
	* tests/benchmarks/share/run-sparse-matrix-benchmark: New file.
	* tests/benchmarks/share/tnl-sparse-matrix-benchmark.cfg.desc: New file.
	* tests/benchmarks/sparse-matrix-benchmark.cpp: New file.
	* tests/benchmarks/sparse-matrix-benchmark.cu: New file.
	* tests/benchmarks/sparse-matrix-benchmark.h: New file.
	* tests/benchmarks/tnl-benchmarks.cpp: New file.
	* tests/benchmarks/tnl-benchmarks.h: New file.
	* tests/benchmarks/tnlSpmvBenchmark.h: New file.
	* tests/benchmarks/tnlSpmvBenchmarkAdaptiveRgCSRMatrix.h: New file.
	* tests/benchmarks/tnlSpmvBenchmarkCSRMatrix.h: New file.
	* tests/benchmarks/tnlSpmvBenchmarkHybridMatrix.h: New file.
	* tests/benchmarks/tnlSpmvBenchmarkRgCSRMatrix.h: New file.
	* tests/Makefile: New file.
	* tests/unit-tests/Makefile: New file.
	* tools/Makefile: New file.
	* tools/share/Makefile: New file.
	* tools/src/Makefile: New file. 
	* buildAll: 
	* CMakeLists.txt: 
	* src/CMakeLists.txt: 
	* src/config/CMakeLists.txt: 
	* src/core/CMakeLists.txt: 
	* src/core/tnlLongVectorCUDA.h: 
	* src/debug/CMakeLists.txt: 
	* src/diff/CMakeLists.txt: 
	* src/matrix/CMakeLists.txt: 
	* src/matrix/tnlRgCSRMatrix.h: 
	* src/mesh/CMakeLists.txt: 
	* src/solver/CMakeLists.txt: 
	* tests/CMakeLists.txt: 
	* tests/unit-tests/CMakeLists.txt: 
	* tests/unit-tests/matrix/tnlAdaptiveRgCSRMatrixTester.h: 
	* tests/unit-tests/matrix/tnlRgCSRMatrixTester.h: 
	* tnlConfig.h.in: 
	* tools/share/CMakeLists.txt: 

2011-06-12  Tomas Oberhuber  <tomas.oberhuber@fjfi.cvut.cz>

+8 −3
Original line number Diff line number Diff line
@@ -6,8 +6,6 @@ TODO: metodu pro tnlString pro nahrazeni napr. podretezce XXXXX indexem 00001 tj
TODO: implementovat tridu tnlParabolicSolver pro odvozovani resicu k casove promennym uloham


TODO: zavets iteratory pres uzle site misto for cyklu

TODO: objekt pro osetreni chyb - zavedeni funkce tnlGetError
      - mozna dat do tnlObject priznak, zda je objekt ok nebo 
        v nefunkcnim stavu   
@@ -24,6 +22,13 @@ TODO: implementovat metodu tnlObject passToDevice, ktera vytvori obraz daneho ob
TODO: Zkusit z tnlExplicitSolver udelat tnlTimeSolver, od nej odvodit tnlEulerSolver, tnlMersonSolver a
      tnlParabolicSolver. Objekt by obsahoval i metodu pro ukladani stavu v prubehu vypoctu. 
      
TODO: - odvodit tnlArray primo z tnlArrayManager
      - tnlGrid prejmenovat na tnlGridOfNodes
      - zavest tnlGrid podle tnlMesh - tj. bude to pouze popis site bez sitove fce.
      - po prepsani vsech schemat se tnlGridOfNodes zrusi
      - zavest tnlObjectArray pro pole objektu - rozdil je v tom, ze treba save a load bude volat pro kazdy element
        jeho metodu save a load apod.           
      
DONE: Nahradit mGrid2D, mGrid3D za mGrid obecne dimenze 

DONE: trida tnlArray - misto tnlLongVector a tnlField (nebo postavenou na tnlLongVector)
+6 −5
Original line number Diff line number Diff line
#!/bin/bash

TARGET=TNL
INSTALL_PREFIX=${HOME}/local
WITH_CUDA=no
WITH_CUDA=yes
CUDA_ARCHITECTURE=2.0
VERBOSE=0
VERBOSE=1

CPUS=`grep -c processor /proc/cpuinfo`

echo "Building TNL using $CPUS processors."
echo "Building $TARGET using $CPUS processors."

if [ ! -d Debug ];
then
@@ -20,12 +21,12 @@ fi

cd Debug
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${HOME}/local -DCUDA_ARCHITECTURE=${CUDA_ARCHITECTURE} -DWITH_CUDA=${WITH_CUDA}
make -j${CPUS} VERBOSE=${VERBOSE}
make -j${CPUS} #VERBOSE=${VERBOSE}
make -j${CPUS} test
make -j${CPUS} install

cd ../Release
cmake .. -DCMAKE_INSTALL_PREFIX=${HOME}/local -DCUDA_ARCHITECTURE=${CUDA_ARCHITECTURE} -DWITH_CUDA=${WITH_CUDA}
make -j${CPUS} VERBOSE=${VERBOSE}
make -j${CPUS} #VERBOSE=${VERBOSE}
make -j${CPUS} test
make -j${CPUS} install
Loading