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. -------------------------------------------- --------------------------------------------

近期下载者

相关文件


收藏者