Skip to content
Kent Knox edited this page Dec 10, 2015 · 1 revision

Code layout

This provides a brief description of the clSPARSE directory layout:

clSPARSE/
+---cmake                             Cmake files related to superbuild and building dependencies
+---docs                              Root directory of documentation related to the project
|   \---performance                   Performance data for library releases in csv format
|       +---clSPARSE-0.6.0.0
|       |   \---W9100
|       +---clSPARSE-0.8.0.0
|       |   \---W9100
|       +---cuSPARSE-7.0
|       |   \---Tesla_K40
|       \---cuSPARSE-7.5
|           \---Tesla_K40
+---samples                           Sample programs demonstrating clsparse functionality, written
|   \---cmake                         Supporting cmake logic to find and link clsparse
\---src                               All source related to building the library & bench & test is contained herein
    +---benchmarks                    Programs written to measure the performance of the libraries
    |   +---clsparse-bench            Benchmark program specific to time clsparse
    |   |   +---functions
    |   |   +---include
    |   |   \---src
    |   \---cusparse-bench            Benchmark program specific to time cusparse
    |       +---functions
    |       +---include
    |       \---src
    +---clsparseTimer                 Supporting library to help measure opencl kernel time
    +---cmake                         Helper cmake files related to building and linking clsparse
    +---include                       Project public header files
    +---library                       All source related to building the library is contained herein
    |   +---blas1                     Source related to level 1 BLAS routines
    |   +---blas2                     Source related to level 2 BLAS routines
    |   +---blas3                     Source related to level 3 BLAS routines
    |   +---include                   Project private header files; not visible to library clients
    |   |   \---external              Include files pulled in from external sources
    |   +---internal                  Host code and headers mainly focused on opencl state and kernel management
    |   |   \---data-types            Privately defined data types used within the library
    |   +---io                        Implementation for reading sparse matrix market files from disk
    |   +---kernels                   Opencl kernel implementations for all blas levels
    |   +---solvers                   Host code for conjugate gradient routines
    |   |   \---preconditioners       Host code for jakobi preconditioner
    |   \---transform                 Host code to transform one sparse data layout into another
    \---tests                         Programs written to test the functionality of clsparse using googletest
        \---resources                 Code for a reusable common test framework
Clone this wiki locally