ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
external_1.cpp
Go to the documentation of this file.
1 /* =========================================================================
2  Copyright (c) 2010-2015, 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"
39 #include "viennacl/ell_matrix.hpp"
40 #include "viennacl/fft.hpp"
41 #include "viennacl/hyb_matrix.hpp"
43 #ifdef VIENNACL_WITH_OPENCL
48 #endif
49 
53 #include "viennacl/linalg/cg.hpp"
57 #include "viennacl/linalg/ilu.hpp"
65 #include "viennacl/linalg/qr.hpp"
68 #include "viennacl/linalg/sum.hpp"
69 #include "viennacl/linalg/tql2.hpp"
70 
71 
73 
74 #ifdef VIENNACL_WITH_OPENCL
75  #include "viennacl/linalg/amg.hpp"
76  #include "viennacl/linalg/spai.hpp"
77  #include "viennacl/linalg/svd.hpp"
79 #endif
80 
83 
84 
85 
86 //defined in external_2.cpp
87 void other_func();
88 
89 //
90 // -------------------------------------------------------------
91 //
92 int main()
93 {
94  typedef float NumericType;
95 
96  //doing nothing but instantiating a few types
102 
103  //this is the external linkage check:
104  other_func();
105 
106  std::cout << std::endl;
107  std::cout << "------- Test completed --------" << std::endl;
108  std::cout << std::endl;
109 
110 
111  return EXIT_SUCCESS;
112 }
A reader and writer for the matrix market format is implemented here.
This class represents a single scalar value on the GPU and behaves mostly like a built-in scalar type...
Definition: forwards.h:227
Generic interface for the l^2-norm. See viennacl/linalg/vector_operations.hpp for implementations...
Implementation of the dense matrix class.
The stabilized bi-conjugate gradient method is implemented here.
Implementations of incomplete Cholesky factorization preconditioners with static nonzero pattern...
Implementation of the tql2-algorithm for eigenvalue computations.
Convenience include for bandwidth reduction algorithms such as Cuthill-McKee or Gibbs-Poole-Stockmeye...
A dense matrix class.
Definition: forwards.h:375
void other_func()
Definition: external_2.cpp:85
Implementation of a simple Jacobi preconditioner.
Generic interface for the computation of inner products. See viennacl/linalg/vector_operations.hpp for implementations.
Implementation of an bisection algorithm for eigenvalues.
Generic interface for the l^1-norm. See viennacl/linalg/vector_operations.hpp for implementations...
Implementation of the coordinate_matrix class.
int main()
Definition: external_1.cpp:92
Implementation of the hyb_matrix class.
Implementations of the generalized minimum residual method are in this file.
Implementations of incomplete factorization preconditioners. Convenience header file.
Implementation of the hankel_matrix class for efficient manipulation of Hankel matrices. Experimental.
Generic interface for the Frobenius norm.
the user interface for the code generator
Implementation of the circulant_matrix class for efficient manipulation of circulant matrices...
Implementation of the compressed_matrix class.
Implementation of the sliced_ell_matrix class.
Main include file for algebraic multigrid (AMG) preconditioners. Experimental.
Provides a QR factorization using a block-based approach.
The conjugate gradient method is implemented here.
Implementation of the ell_matrix class.
A row normalization preconditioner is implemented here.
Implementations of dense direct solvers are found here.
Provides singular value decomposition using a block-based approach. Experimental. ...
Implementation of the QR method for eigenvalue computations. Experimental.
Implementation of the vandermonde_matrix class for efficient manipulation of Vandermonde matrices...
Stub routines for the summation of elements in a vector, or all elements in either a row or column of...
The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations ...
All routines related to the Fast Fourier Transform. Experimental.
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
Main include file for the sparse approximate inverse preconditioner family (SPAI and FSPAI)...
Implementation of the algorithm for finding eigenvalues of a tridiagonal matrix.
Implementation of the ViennaCL scalar class.
Generic interface for the l^infty-norm. See viennacl/linalg/vector_operations.hpp for implementations...
Implementation of the toeplitz_matrix class for efficient manipulation of Toeplitz matrices...
A sparse square matrix, where entries are stored as triplets (i,j, val), where i and j are the row an...
Generic interface for the Lanczos algorithm.