ViennaCL - The Vienna Computing Library: tests/src/external_2.cpp Source File

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
external_2.cpp
Go to the documentation of this file.
1 /* =========================================================================
2 Copyright (c) 2010-2016, Institute for Microelectronics,
3 Institute for Analysis and Scientific Computing,
4 TU Wien.
5 Portions of this software are copyright by UChicago Argonne, LLC.
6
7 -----------------
8 ViennaCL - The Vienna Computing Library
9 -----------------
10
11 Project Head: Karl Rupp rupp@iue.tuwien.ac.at
12
13 (A list of authors and contributors can be found in the PDF manual)
14
15 License: MIT (X11), see file LICENSE in the base directory
16 ============================================================================= */
17
23 //#define VIENNACL_WITH_EIGEN
24 #define VIENNACL_WITH_UBLAS
25
26 //
27 // *** System
28 //
29 #include <iostream>
30
31 //
32 // *** ViennaCL
33 //
34 #include "viennacl/scalar.hpp"
35 #include "viennacl/vector.hpp"
36 #include "viennacl/matrix.hpp"
37 #include "viennacl/compressed_matrix.hpp"
38 #include "viennacl/coordinate_matrix.hpp"
39 #include "viennacl/ell_matrix.hpp"
40 #include "viennacl/fft.hpp"
41 #include "viennacl/hyb_matrix.hpp"
42 #include "viennacl/sliced_ell_matrix.hpp"
43 #ifdef VIENNACL_WITH_OPENCL
44 #include "viennacl/circulant_matrix.hpp"
45 #include "viennacl/hankel_matrix.hpp"
46 #include "viennacl/toeplitz_matrix.hpp"
47 #include "viennacl/vandermonde_matrix.hpp"
48 #endif
49
50 #include "viennacl/linalg/bicgstab.hpp"
51 #include "viennacl/linalg/bisect.hpp"
52 #include "viennacl/linalg/bisect_gpu.hpp"
53 #include "viennacl/linalg/cg.hpp"
54 #include "viennacl/linalg/direct_solve.hpp"
55 #include "viennacl/linalg/gmres.hpp"
56 #include "viennacl/linalg/ichol.hpp"
57 #include "viennacl/linalg/ilu.hpp"
58 #include "viennacl/linalg/inner_prod.hpp"
59 #include "viennacl/linalg/jacobi_precond.hpp"
60 #include "viennacl/linalg/norm_1.hpp"
61 #include "viennacl/linalg/norm_2.hpp"
62 #include "viennacl/linalg/norm_inf.hpp"
63 #include "viennacl/linalg/norm_frobenius.hpp"
64 #include "viennacl/linalg/lanczos.hpp"
65 #include "viennacl/linalg/qr.hpp"
66 #include "viennacl/linalg/qr-method.hpp"
67 #include "viennacl/linalg/row_scaling.hpp"
68 #include "viennacl/linalg/sum.hpp"
69 #include "viennacl/linalg/tql2.hpp"
70
71 #include "viennacl/misc/bandwidth_reduction.hpp"
72
73 #ifdef VIENNACL_WITH_OPENCL
74 #include "viennacl/linalg/amg.hpp"
75 #include "viennacl/linalg/spai.hpp"
76 #include "viennacl/linalg/svd.hpp"
77 #include "viennacl/device_specific/execute.hpp"
78 #endif
79
80 #include "viennacl/io/matrix_market.hpp"
81 #include "viennacl/scheduler/execute.hpp"
82
83 void other_func();
84
85 void other_func()
86 {
87 typedef float NumericType;
88
89 //doing nothing but instantiating a few types
90 viennacl::scalar<NumericType> s;
91 viennacl::vector<NumericType> v(10);
92 viennacl::matrix<NumericType> m(10, 10);
93 viennacl::compressed_matrix<NumericType> compr(10, 10);
94 viennacl::coordinate_matrix<NumericType> coord(10, 10);
95
96 }
matrix_market.hpp
A reader and writer for the matrix market format is implemented here.
viennacl::scalar
This class represents a single scalar value on the GPU and behaves mostly like a built-in scalar type...
Definition: forwards.h:227
norm_2.hpp
Generic interface for the l^2-norm. See viennacl/linalg/vector_operations.hpp for implementations...
matrix.hpp
Implementation of the dense matrix class.
bicgstab.hpp
The stabilized bi-conjugate gradient method is implemented here.
ichol.hpp
Implementations of incomplete Cholesky factorization preconditioners with static nonzero pattern...
tql2.hpp
Implementation of the tql2-algorithm for eigenvalue computations.
bandwidth_reduction.hpp
Convenience include for bandwidth reduction algorithms such as Cuthill-McKee or Gibbs-Poole-Stockmeye...
viennacl::matrix
A dense matrix class.
Definition: forwards.h:375
jacobi_precond.hpp
Implementation of a simple Jacobi preconditioner.
inner_prod.hpp
Generic interface for the computation of inner products. See viennacl/linalg/vector_operations.hpp for implementations.
bisect_gpu.hpp
Implementation of an bisection algorithm for eigenvalues.
norm_1.hpp
Generic interface for the l^1-norm. See viennacl/linalg/vector_operations.hpp for implementations...
coordinate_matrix.hpp
Implementation of the coordinate_matrix class.
hyb_matrix.hpp
Implementation of the hyb_matrix class.
other_func
void other_func()
Definition: external_2.cpp:85
gmres.hpp
Implementations of the generalized minimum residual method are in this file.
ilu.hpp
Implementations of incomplete factorization preconditioners. Convenience header file.
hankel_matrix.hpp
Implementation of the hankel_matrix class for efficient manipulation of Hankel matrices. Experimental.
norm_frobenius.hpp
Generic interface for the Frobenius norm.
execute.hpp
the user interface for the code generator
circulant_matrix.hpp
Implementation of the circulant_matrix class for efficient manipulation of circulant matrices...
compressed_matrix.hpp
Implementation of the compressed_matrix class.
sliced_ell_matrix.hpp
Implementation of the sliced_ell_matrix class.
amg.hpp
Main include file for algebraic multigrid (AMG) preconditioners. Experimental.
qr.hpp
Provides a QR factorization using a block-based approach.
cg.hpp
The conjugate gradient method is implemented here.
ell_matrix.hpp
Implementation of the ell_matrix class.
viennacl::vector< NumericType >
row_scaling.hpp
A row normalization preconditioner is implemented here.
direct_solve.hpp
Implementations of dense direct solvers are found here.
svd.hpp
Provides singular value decomposition using a block-based approach. Experimental. ...
qr-method.hpp
Implementation of the QR method for eigenvalue computations. Experimental.
vandermonde_matrix.hpp
Implementation of the vandermonde_matrix class for efficient manipulation of Vandermonde matrices...
sum.hpp
Stub routines for the summation of elements in a vector, or all elements in either a row or column of...
vector.hpp
The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations ...
fft.hpp
All routines related to the Fast Fourier Transform. Experimental.
execute.hpp
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
spai.hpp
Main include file for the sparse approximate inverse preconditioner family (SPAI and FSPAI)...
viennacl::compressed_matrix< NumericType >
bisect.hpp
Implementation of the algorithm for finding eigenvalues of a tridiagonal matrix.
scalar.hpp
Implementation of the ViennaCL scalar class.
norm_inf.hpp
Generic interface for the l^infty-norm. See viennacl/linalg/vector_operations.hpp for implementations...
toeplitz_matrix.hpp
Implementation of the toeplitz_matrix class for efficient manipulation of Toeplitz matrices...
viennacl::coordinate_matrix
A sparse square matrix, where entries are stored as triplets (i,j, val), where i and j are the row an...
Definition: coordinate_matrix.hpp:186
lanczos.hpp
Generic interface for the Lanczos algorithm.