#include <iostream>
#include <iomanip>
#include <atlas/cblas.h>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/operation.hpp>
#include <boost/numeric/ublas/operation_blocked.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/timer.hpp>
Go to the source code of this file.
Namespaces | |
namespace | boost |
namespace | boost::numeric |
namespace | boost::numeric::ublas |
Defines | |
#define | NOCHECK |
#define | mul(a, b, d) |
#define | mul2(xtype) |
#define | mul3(xtype) |
#define | mul4(xtype) |
#define | mul5(xtype) |
#define | mul6(xtype) |
#define | mul7 |
#define | mulset(xtype, atype, btype) |
Typedefs | |
typedef ublas::matrix< double, ublas::row_major > | RT |
typedef ublas::matrix< double, ublas::column_major > | CT |
Functions | |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::row_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &B) |
BOOST_UBLAS_INLINE void | cblas_prod (ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &C, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &A, const ublas::matrix< double, ublas::column_major, ublas::unbounded_array< double > > &B) |
void | zeromatrix (ublas::matrix< double, ublas::row_major > &A) |
void | zeromatrix (ublas::matrix< double, ublas::column_major > &A) |
void | initmatrix (ublas::matrix< double, ublas::row_major > &A) |
void | initmatrix (ublas::matrix< double, ublas::column_major > &A) |
template<class M, class E> int | equals (const M &lhs, const E &rhs) |
void | test (const size_t size1, const size_t size2, const size_t size3) |
int | main (int argc, char *argv[]) |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ for (size_t a=0;a<size;a++) \ for (size_t b=0;b<size;b++) \ for (size_t d=0;d<size;d++) \ X(r,c) += A(r,k)*B(k,c); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B))<< endl; \ } Definition at line 305 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ X.plus_assign(prod(A,B)); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 320 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ ublas::axpy_prod(A,B,X,false); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 332 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ ublas::opb_prod(A,B,X,false); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 344 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ X.plus_assign(ublas::block_prod<xtype, 64>(A,B)); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 356 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ X.plus_assign(ublas::block_prod_goto<xtype, 64, 64, 64>(A,B)); \ time = t.elapsed(); \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 368 of file sample83.cpp. |
|
Value: { \ zeromatrix(X); \ initmatrix(A); \ initmatrix(B); \ t.restart(); \ cblas_prod(X, A, B); \ time = t.elapsed(); \ \ cout << setw(8) << time << flush; \ cerr << equals(X,prod(A,B)) << endl; \ } Definition at line 380 of file sample83.cpp. |
|
Value: { \ xtype X(size1,size3); \ atype A(size1,size2); \ btype B(size2,size3); \ mul5(xtype); \ mul6(xtype); \ mul7 ; \ cout << endl; \ } Definition at line 393 of file sample83.cpp. |
|
Definition at line 293 of file sample83.cpp. |
|
Definition at line 303 of file sample83.cpp. |
|
Definition at line 302 of file sample83.cpp. |
|
Definition at line 257 of file sample83.cpp. |
|
Definition at line 240 of file sample83.cpp. |
|
Definition at line 223 of file sample83.cpp. |
|
Definition at line 206 of file sample83.cpp. |
|
Definition at line 189 of file sample83.cpp. |
|
Definition at line 172 of file sample83.cpp. |
|
Definition at line 155 of file sample83.cpp. |
|
Definition at line 138 of file sample83.cpp. |
|
Definition at line 296 of file sample83.cpp. Referenced by boost::numeric::ublas::block_prod_goto(). |
|
Definition at line 287 of file sample83.cpp. |
|
Definition at line 282 of file sample83.cpp. |
|
Definition at line 435 of file sample83.cpp. References test(). |
|
Definition at line 416 of file sample83.cpp. References CT, mulset, and RT. Referenced by main(). |
|
Definition at line 277 of file sample83.cpp. |
|
Definition at line 272 of file sample83.cpp. |