|
spla
|
Classes | |
| class | spla::Descriptor |
| Descriptor object used to parametrize execution of particular scheduled tasks. More... | |
| class | spla::MtxLoader |
| Loader for matrix data stored in matrix-market (.mtx) format. More... | |
| class | spla::Library |
| Library global state automatically instantiated on lib init. More... | |
| class | spla::Matrix |
| Generalized M x N dimensional matrix object. More... | |
| class | spla::Object |
| Base class for any library primitive. More... | |
| class | spla::Op |
| An callable operation to parametrize execution of math computations. More... | |
| class | spla::OpUnary |
| Unary operation with 1-arity. More... | |
| class | spla::OpBinary |
| Binary operation with 2-arity. More... | |
| class | spla::OpSelect |
| Select operation with 1-arity and bool return type. More... | |
| class | spla::RefCnt |
| Base class for object with built-in reference counting mechanism. More... | |
| class | spla::ref_ptr< T > |
| Automates reference counting and behaves as shared smart pointer. More... | |
| class | spla::Scalar |
| Box for a single typed scalar value. More... | |
| class | spla::ScheduleTask |
| Represent single smallest evaluation tasks which can scheduled. More... | |
| class | spla::Schedule |
| Object with sequence of steps with tasks forming schedule for execution. More... | |
| class | spla::Timer |
| Simple timer to measure intervals of time on CPU-side. More... | |
| class | spla::Type |
| Type representation for parametrisation of containers stored values. More... | |
| class | spla::Vector |
| Generalized N dimensional vector object. More... | |
| class | Status |
| Status of library operation execution. More... | |
| class | AcceleratorType |
| Types of supported accelerators for computations. More... | |
| class | FormatMatrix |
| Named storage format for library matrix data objects. More... | |
| class | FormatVector |
| Named storage format for library vector data objects. More... | |
| class | MessageCallback |
| Callback function called on library message event. More... | |
| class | ScheduleCallback |
| Callback function which can be scheduled in schedule. More... | |
Typedefs | |
| using | spla::uint = std::uint32_t |
| Library index and size type. | |
| using | spla::MessageCallback |
| using | spla::ScheduleCallback = std::function<void()> |
| using | spla::T_BOOL = bool |
| using | spla::T_INT = std::int32_t |
| using | spla::T_UINT = std::uint32_t |
| using | spla::T_FLOAT = float |
Functions | |
| Status | spla::bfs (const ref_ptr< Vector > &v, const ref_ptr< Matrix > &A, uint s, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Breadth-first search algorithm. | |
| Status | spla::bfs_naive (std::vector< int > &v, std::vector< std::vector< spla::uint > > &A, uint s, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Naive breadth-first search algorithm (reference cpu implementation) | |
| Status | spla::sssp (const ref_ptr< Vector > &v, const ref_ptr< Matrix > &A, uint s, const ref_ptr< Descriptor > &descriptor=ref_ptr< Descriptor >()) |
| Single-source shortest path algorithm. | |
| Status | spla::sssp_naive (std::vector< float > &v, std::vector< std::vector< uint > > &Ai, std::vector< std::vector< float > > &Ax, uint s, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Naive single-source shortest path algorithm (reference cpu implementation) | |
| Status | spla::pr (ref_ptr< Vector > &p, const ref_ptr< Matrix > &A, float alpha=0.85, float eps=1e-6, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| PageRank algorithm. | |
| Status | spla::pr_naive (std::vector< float > &p, std::vector< std::vector< uint > > &Ai, std::vector< std::vector< float > > &Ax, float alpha=0.85, float eps=1e-6, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Naive PageRank algorithm (reference cpu implementation) | |
| Status | spla::tc (int &ntrins, const ref_ptr< Matrix > &A, const ref_ptr< Matrix > &B, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Triangles counting algorithm. | |
| Status | spla::tc_naive (int &ntrins, std::vector< std::vector< spla::uint > > &Ai, const ref_ptr< Descriptor > &descriptor=spla::Descriptor::make()) |
| Naive triangles counting algorithm (reference cpu implementation) | |
| template<typename T , typename... TArgs> | |
| ref_ptr< T > | spla::make_ref (TArgs &&... args) |
| ref_ptr< Schedule > | spla::make_schedule () |
| Makes new schedule for making execution schedule. | |
| using spla::MessageCallback |
| using spla::ScheduleCallback = std::function<void()> |
| using spla::T_BOOL = bool |
| using spla::T_FLOAT = float |
| using spla::T_INT = std::int32_t |
| using spla::T_UINT = std::uint32_t |
| using spla::uint = std::uint32_t |
Library index and size type.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| CpuLil | Matrix list of lists format for fast increment build |
| CpuDok | Matrix dictionary of keys for fast look-up of values |
| CpuCoo | Matrix coordinates list format |
| CpuCsr | Matrix compressed sparse rows format |
| CpuCsc | Matrix compressed sparse columns format |
| AccCoo | Matrix acceleration structured coo format |
| AccCsr | Matrix acceleration structured csr format |
| AccCsc | Matrix acceleration structured csc format |
| Count | Total number of supported matrix formats |
|
strong |
| Enumerator | |
|---|---|
| CpuDok | Vector dictionary of keys representation |
| CpuDense | Vector dense array of values representation |
| CpuCoo | Vector list of values for sparse data |
| AccDense | Vector acceleration structured dense format |
| AccCoo | Vector acceleration structured coo format |
| Count | Total number of supported vector formats |
|
strong |
| Enumerator | |
|---|---|
| Ok | No error |
| Error | Some error occurred |
| NoAcceleration | Library has no configured accelerator for computations |
| PlatformNotFound | Accelerator platform not found |
| DeviceNotFound | Accelerator device not found |
| InvalidState | Call of the function is not possible for some context |
| InvalidArgument | Passed invalid argument for some function |
| NoValue | No such requested value in matrix, vector or scalar storage |
| CompilationError | Failed to compile GPU/ACC kernel |
| NotImplemented | Some library feature is not implemented |
| Status spla::bfs | ( | const ref_ptr< Vector > & | v, |
| const ref_ptr< Matrix > & | A, | ||
| uint | s, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Breadth-first search algorithm.
| v | int vector to store reached distances |
| A | int matrix filled with 1 where exist edge from i to j |
| s | start vertex id to search |
| descriptor | optional descriptor for algorithm |
| Status spla::bfs_naive | ( | std::vector< int > & | v, |
| std::vector< std::vector< spla::uint > > & | A, | ||
| uint | s, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Naive breadth-first search algorithm (reference cpu implementation)
| v | int vector to store reached distances |
| A | int graph adjacency lists filled with 1 where exist edge from i to j |
| s | start vertex id to search |
| descriptor | optional descriptor for algorithm |
| ref_ptr< T > spla::make_ref | ( | TArgs &&... | args | ) |
Makes new schedule for making execution schedule.
| Status spla::pr | ( | ref_ptr< Vector > & | p, |
| const ref_ptr< Matrix > & | A, | ||
| float | alpha = 0.85, | ||
| float | eps = 1e-6, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
PageRank algorithm.
| p | float vector to store result vertices weights |
| A | float graph matrix with weights A[i][j] = alpha / outdegree(i) |
| alpha | float alpha to control PageRank (default is 0.85) |
| eps | float tolerance to control precision of PageRank (default is 1e-6) |
| descriptor | optional descriptor for algorithm |
| Status spla::pr_naive | ( | std::vector< float > & | p, |
| std::vector< std::vector< uint > > & | Ai, | ||
| std::vector< std::vector< float > > & | Ax, | ||
| float | alpha = 0.85, | ||
| float | eps = 1e-6, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Naive PageRank algorithm (reference cpu implementation)
| p | float vector to store result vertices weights |
| Ai | float graph matrix column indices |
| Ax | float graph matrix weights A[i][j] = alpha / outdegree(i) |
| alpha | float alpha to control PageRank (default is 0.85) |
| eps | float tolerance to control precision of PageRank (default is 1e-6) |
| descriptor | optional descriptor for algorithm |
| Status spla::sssp | ( | const ref_ptr< Vector > & | v, |
| const ref_ptr< Matrix > & | A, | ||
| uint | s, | ||
| const ref_ptr< Descriptor > & | descriptor = ref_ptr<Descriptor>() ) |
Single-source shortest path algorithm.
| v | float vector to store reached distances |
| A | float matrix filled with >0.0f distances where exist edge from i to j otherwise 0.0f |
| s | start vertex id to search |
| descriptor | optional descriptor for algorithm |
| Status spla::sssp_naive | ( | std::vector< float > & | v, |
| std::vector< std::vector< uint > > & | Ai, | ||
| std::vector< std::vector< float > > & | Ax, | ||
| uint | s, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Naive single-source shortest path algorithm (reference cpu implementation)
| v | float vector to store reached distances |
| Ai | uint matrix column indices |
| Ax | float matrix values with >0.0f distances where exist edge from i to j |
| s | start vertex id to search |
| descriptor | optional descriptor for algorithm |
| Status spla::tc | ( | int & | ntrins, |
| const ref_ptr< Matrix > & | A, | ||
| const ref_ptr< Matrix > & | B, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Triangles counting algorithm.
| ntrins | Number of triangles counted |
| A | Lower trilingual int matrix with 1 where has edge in a graph |
| B | Buffer int matrix to store result |
| descriptor | optional descriptor for algorithm |
| Status spla::tc_naive | ( | int & | ntrins, |
| std::vector< std::vector< spla::uint > > & | Ai, | ||
| const ref_ptr< Descriptor > & | descriptor = spla::Descriptor::make() ) |
Naive triangles counting algorithm (reference cpu implementation)
| ntrins | Number of triangles counted |
| A | Lower trilingual int matrix structure |
| descriptor | optional descriptor for algorithm |
| ref_ptr< Type > spla::FLOAT = TType<T_FLOAT>::make_type("FLOAT", "F", "float", "4 byte floating point type", 4) |
| ref_ptr< Type > spla::INT = TType<T_INT>::make_type("INT", "I", "int", "signed 4 byte integral type", 2) |
| ref_ptr< Type > spla::UINT = TType<T_UINT>::make_type("UINT", "U", "uint", "unsigned 4 byte integral type", 3) |