Dense matrix calculations using parallel cores (multithreaded)
Code: "matrix1.py". Programming language: Python
DMelt Version 1. Last modified: 09/19/2015. License: Pro
https://datamelt.org/code/cache/matrix1_2269.py
To run this script using the DMelt IDE,
copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.
from cern.colt.matrix import tdouble
from edu.emory.utils import ConcurrencyUtils
import time
# do some calculations on DenseDoubleMatrix2D
def process(M):
M.cardinality()
M.dctColumns(0)
M.dctRows(0)
M.dct2(0)
M.dht2()
M.dhtColumns()
M.dhtRows()
M.dst2(0)
M.dstColumns(0)
M.dstRows(0)
M.vectorize()
M.zSum()
M.idct2(0)
Ncores=2
print " benchmarks of DenseDoubleMatrix2D for "+str(Ncores)+" CPU core. Wait!"
ConcurrencyUtils.setNumberOfThreads(Ncores)
start = time.clock()
M=tdouble.DoubleFactory2D.dense.random(1000, 1000) # random matrix
process(M)
print ' Multiple CPU time (s)=',time.clock()-start
You see the box below because you did not login.