From 37973a7161a8db3cd0e9caae315a61447b510312 Mon Sep 17 00:00:00 2001 From: Jiri Pittner Date: Wed, 19 Nov 2025 16:19:45 +0100 Subject: [PATCH] tensor: added some timing --- t.cc | 2 +- tensor.cc | 31 ++++++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/t.cc b/t.cc index 02ee795..8499a53 100644 --- a/t.cc +++ b/t.cc @@ -4394,7 +4394,7 @@ cout <<"Error = "<<(z-zzz).norm()<>nn; int r=4; diff --git a/tensor.cc b/tensor.cc index 986de96..b49e9b1 100644 --- a/tensor.cc +++ b/tensor.cc @@ -25,6 +25,7 @@ #include "bitvector.h" #include #include +#include namespace LA { @@ -1138,13 +1139,21 @@ for(int i=0; i void auxmatmult(int nn, int mm, int kk, double *r, const double *a, const double *b, double alpha, double beta, bool conjugate) { +clock_t t0=clock(); cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasTrans, nn, mm, kk, alpha, a, kk, b, kk, beta, r, mm); +#ifdef TIMING +std::cout<<"cblas_dgemm CPU time " << (clock()-t0)/(double)CLOCKS_PER_SEC< void auxmatmult >(int nn, int mm, int kk, std::complex *r, const std::complex *a, const std::complex *b, std::complex alpha, std::complex beta, bool conjugate) { +clock_t t0=clock(); cblas_zgemm(CblasRowMajor, CblasNoTrans, (conjugate?CblasConjTrans:CblasTrans), nn, mm, kk, &alpha, a, kk, b, kk, &beta, r, mm); +#ifdef TIMING +std::cout<<"cblas_zgemm CPU time " << (clock()-t0)/(double)CLOCKS_PER_SEC< u = conjugate1? (rhs1.unwind_indices(il1)).conjugateme() : rhs1.unwind_indices(il1); const Tensor rhsu = rhs2.unwind_indices(il2); +#ifdef TIMING +std::cout <<"unwinding CPU time = "<<(clock()-t0)/(double)CLOCKS_PER_SEC< newshape(u.shape.size()+rhsu.shape.size()-2*il1.size()); @@ -1494,9 +1507,12 @@ if(rhs.is_named()) NRVec namperm = rhs.names.permuted(pa[0].perm,!inverse); if(is_named()) { - std::cout <<"LHS names = "< tmp=rhs1.contractions(il1,rhs2,il2,alpha,conjugate1,conjugate2); +#ifdef TIMING +std::cout<<"contractions CPU time = "<<(1.*clock()-t0)/CLOCKS_PER_SEC<