CNC-GPU-CUDA_src_bin_examples
所属分类:数学计算
开发工具:Visual C++
文件大小:25697KB
下载次数:17
上传日期:2015-11-06 11:56:41
上 传 者:
xiaoxiaoyuyan
说明: GPU并行求解系数矩阵为稀疏矩阵的线性方程组
(GPU parella sparse linear equations solver)
文件列表:
CG-GPU (0, 2008-04-10)
CG-GPU\CG-GPU.cpp (3267, 2008-04-10)
CG-GPU\CG-GPU.sln (871, 2008-04-09)
CG-GPU\CG-GPU.suo (29696, 2008-04-10)
CG-GPU\CG-GPU.vcproj (6624, 2008-04-10)
CG-GPU\Release (0, 2008-04-10)
CG-GPU\Release\CG-GPU.exe (274432, 2008-04-10)
CG-GPU\Release\cublas.dll (2170880, 2007-06-19)
CG-GPU\Release\cuda.dll (983040, 2007-06-19)
CG-GPU\Release\cudart.dll (139264, 2007-06-19)
CG-GPU\Release\cutil32.dll (270336, 2007-06-24)
CG-GPU\vc80.pdb (61440, 2008-04-10)
examples (0, 2008-04-10)
examples\example_1.dat (7457862, 2008-04-08)
examples\example_2.dat (97202654, 2008-04-08)
examples\start_example_1.bat (58, 2008-04-10)
examples\start_example_2.bat (59, 2008-04-10)
include (0, 2008-04-10)
include\cnc_arrays.h (5892, 2008-04-10)
include\cnc_cublas_utils.h (3601, 2008-04-10)
include\cnc_example_loader.h (4399, 2008-04-10)
include\cnc_gpu_solver.h (13546, 2008-04-10)
include\cnc_sparse_matrix.h (12884, 2008-04-10)
include\cnc_sparse_matrix_bcrs.h (12979, 2008-04-10)
include\cnc_sparse_matrix_crs.h (9613, 2008-04-10)
include\cnc_timer.h (2526, 2008-04-10)
include\cnc_utils.h (3584, 2008-04-10)
src (0, 2008-04-10)
src\cnc_cuda_blas.cu (11193, 2008-04-10)
src\cnc_sparse_matrix.cpp (8324, 2008-04-10)
LICENSE.txt (18467, 2005-02-09)
--------------------------------------------
Concurrent Number Cruncher - 0.9Beta Release
--------------------------------------------
-----------------------
What is the CNC ?
-----------------------
The CNC is a generic sparse matrix solver based on an efficient
implementation on the GPU of BLAS operations. The implemented solver
is a Jacobi-preconditionned conjugate gradient solver, hence designed
to solve symetric definite positive matrices.
-----------------------
How to compile the CNC
-----------------------
Open /CG-GPU/cg-gpu.vcproj and compile the whole project. You should
have the CUDA API and CUDA SDK installed to build the project.
The project is for MS Visual 2005. CUDA version should be equal
or higher than 1.0.
-----------------------
How to test the CNC
-----------------------
Go to /examples directory and run a bat file. The bat file specifies
the file containing the linear system to be solved and the solving
parameters (max number of iterations, tolerance). The compiled exe
will be executed and will solve three times the specified linear system
using CRS matrix storage, BCRS 2x2 matrix storage and finally BCRS 4x4
matrix storage. The perfomances of the three methods will be provided
through GFlops numbers.
Provided examples come from CFD simulations and especially solve the
pressure equation.
-----------------------
How to (re)use the CNC
-----------------------
First include the cnc_gpu_solver.h where you want to use the CNC and
add all related files to your project (don't forget the CUDA file:
cnc_cuda_blas.cu file). Then, build a CNCSparseMatrix c++ object which
is a generic dynamic sparse data structure and fill the right hand side
vector of the linear system. At last, call our static function
CNCGPUSolver::solve_cg() to solve your system. For a simple example,
see function load_example() in the ExampleLoader class in the
cnc_line_stream.h file.
-----------------------
GPU Minimum requirement
-----------------------
See http://www.nvidia.com/object/cuda_learn_products.html for a list of
CUDA enabled graphics cards. In case of troubles, try updating your
graphics drivers.
-----------------------
Disclaimer
-----------------------
This software is provided "as is" only for testing purpose without
any warranty.
-----------------------
Contact
-----------------------
Luc Buatois
buatois@gocad.org
ASGA-INPL Bt. G
Rue du Doyen Marcel Roubault - BP 40
54501 VANDOEUVRE LES NANCY
- FRANCE -
-----------------------
Website
-----------------------
www.loria.fr/~levy/
-----------------------
Licence and Copyright
-----------------------
Copyright (C) 2008 GOCAD/ASGA, INRIA/ALICE
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
If you modify this software, you should include a notice giving the
name of the person performing the modification, the date of modification,
and the reason for such modification.
Note that the GNU General Public License does not permit incorporating
the Software into proprietary programs.
--------------------------------------------
--------------------------------------------
近期下载者:
相关文件:
收藏者: