This contains results for various versions of MAGMA, CUDA, and GPU cards.
Routines currently tested are:
getrf, getrf_gpu
potrf, potrf_gpu -- lower
geqrf, geqrf_gpu -- square
geev -- no vectors, vectors
sy/heev, sy/heev_gpu -- no vectors, vectors
sy/heev_2stage -- no vectors, vectors
gesvd -- no vectors, some vectors; square, 3:1, 1:3, 100:1, 1:100
gesdd -- no vectors, some vectors; square, 3:1, 1:3, 100:1, 1:100
symv -- lower, upper
TODO
extend potrf to upper
extend symv to upper
extend geqrf to tall, wide
For most routines, this standard set of sizes is used:
small: --range 10:90:10
medium: --range 100:900:100
large: --range 1000:9000:1000
xlarge: --range 10000:20000:2000
For SVD, also tests 3:1, 1:3, 100:1, 1:100 ratios.
For symv, the small, medium, large ranges use steps of 1, 10, 100, respectively.
Running tests
=============
To compile MAGMA for running tests, use one of these make.inc files:
make.inc.mkl-icc-ilp64 (preferred) or
make.inc.mkl-ilp64 (older versions, with gcc).
To run tests, use include run*.csh scripts.
Each should generate [sdcz]xxxx.txt output files.
./run_amigos.csh
ls [sdcz]*.txt
cgeqrf.txt dgeqrf.txt sgeqrf.txt zgeqrf.txt
cgetrf.txt dgetrf.txt sgetrf.txt zgetrf.txt
cpotrf.txt dpotrf.txt spotrf.txt zpotrf.txt
For local tests, simply parse data into local.py, which plots.py automatically
loads.
./parse.py [sdcz]*.txt > local.py
You may want to edit the version, device, and cpu meta-data in local.py.
Archiving results
=================
For archive purposes, output is stored in the hierarchy below. To document
results, please store the setup.txt and make.inc files, in addition to data
files.
magma version
cuda version-gpu model
setup.txt (host, GPU, CPU, gcc version, etc.)
make.inc
[sdcz]{getrf,potrf,...}.txt
Example:
v1.6.0
cuda7.0-k40c
setup.txt
make.inc
sgetrf.txt
dgetrf.txt
cgetrf.txt
zgetrf.txt
etc.
Parse the data into a Python data file, named for the version information.
./parse.py v1.6.0/cuda7.0-k40c/*.txt > v160_cuda70_k40c.py
In that Python data file, you need to edit the GPU and CPU information. These
should be set to match existing data files using the same hardware:
version = '1.6.0'
cuda = '7.0'
device = 'Kepler K40c' # <== change
cpu = '2x8 core Sandy Bridge E5-2670' # <== change
Add the data file to parse.py:
import v150_cuda70_k40c
import v160_cuda70_k40c # <== add
versions = [
v150_cuda70_k40c,
v160_cuda70_k40c, # <== add
]
Add both the Python data file and the raw data files to SVN.
svn add v160_cuda70_k40c.py
svn add v1.6.0/
Plotting results
================
The plots.py Python script plots the performance of various routines from
different versions of MAGMA. It requires matplotlib (pyplot).
plots.versions is an array of available MAGMA versions; use array slices, as
shown below, to select which versions to plot.
plots.help() prints the global settings and available plots.
It is easiest to use plots.py from an interactive Python shell. IPython is
recommended.
Example using ipython:
mint magma-trunk/results> ipython
>>> run -i plots # this prints help; -i is necessary so g_save, etc. are in the right name space to be modified
Available versions:
versions[0] = 1.5.0
versions[1] = 1.6.0
versions[2] = 1.6.1
versions[3] = 1.6.2
versions[4] = 1.7.0
>>> plot_potrf( versions[ 4 ] ) # index 4 (1.7.0) only
>>> plot_potrf( versions[ 2: ] ) # index 2 (1.6.1) and later
>>> g_save = True # save PDF files
>>> g_subplots = False # plot precisions as 4 figures instead of 4 subplots
>>> plot_potrf( versions[ [0,2,4] ] ) # index 0 (1.5.0), 2 (1.6.1), and 4 (1.7.0)
saving spotrf.pdf
saving dpotrf.pdf
saving cpotrf.pdf
saving zpotrf.pdf
Using regular python:
magma-trunk/results> python
>>> import plots # this prints help
>>> plots.g_save = True
>>> plots.plot_getrf( plots.versions[ [0,2,4] ] )
saving getrf.pdf
>>> plots.g_subplots = False
>>> plots.plot_getrf( plots.versions[ [0,2,4] ] )
saving sgetrf.pdf
saving dgetrf.pdf
saving cgetrf.pdf
saving zgetrf.pdf
>>> plots.help()
Global settings:
g_save # True to save plots as PDF files
g_subplots # True for all 4 precisions as subplots in one figure, False for 4 separate figures
g_log # True for semilogx, False for linear plot
g_figsize # size of figure with 4-up subplots, default (9,7)
g_figsize2 # size of individual figures, default (6,4)
Available plots:
plot_getrf( versions, lapack=True, cpu=True, gpu=True )
plot_potrf( versions, lapack=True, cpu=True, gpu=True )
plot_geqrf( versions, lapack=True, cpu=True, gpu=True )
plot_geev( versions, lapack=True )
plot_syev( versions, lapack=True, cpu=True, gpu=True, bulge=True )
plot_gesvd( versions, lapack=True, svd=True, sdd=True, ratio=1 )
where ratio m:n in { 1, 3, 100, 1/3., 1/100. }
plot_symv( versions, lapack=True )
plot_all( versions, lapack=True, cpu=True, gpu=True, bulge=True, sdd=True, svd=True, ratio=1 )
Available versions:
versions[0] = 1.5.0
versions[1] = 1.6.0
versions[2] = 1.6.1
versions[3] = 1.6.2
versions[4] = 1.7.0
没有合适的资源?快使用搜索试试~ 我知道了~
magma-2.2.0.tar.gz
需积分: 19 16 下载量 2 浏览量
2019-09-23
20:49:19
上传
评论
收藏 6.96MB GZ 举报
温馨提示
共4781个文件
cpp:1844个
f:787个
html:653个
magma-2.2.0.tar.gzmagma-2.2.0.tar.gz
资源推荐
资源详情
资源评论
收起资源包目录
magma-2.2.0.tar.gz (4781个子文件)
make.inc.acml 2KB
make.inc.atlas 2KB
example_v2.c 6KB
example_v1.c 5KB
example_sparse.c 3KB
sizeptr.c 105B
make.check-acml 371B
make.check-atlas 722B
make.check-cuda 484B
make.check-mkl 717B
make.check-openblas 481B
COPYRIGHT 2KB
zgesvd.cpp 223KB
cgesvd.cpp 223KB
dgesvd.cpp 218KB
sgesvd.cpp 218KB
zgesdd.cpp 124KB
cgesdd.cpp 124KB
dgesdd.cpp 86KB
sgesdd.cpp 86KB
magma_cparilut_tools.cpp 83KB
magma_zparilut_tools.cpp 83KB
magma_dparilut_tools.cpp 83KB
magma_sparilut_tools.cpp 83KB
magma_cmconvert.cpp 81KB
magma_zmconvert.cpp 81KB
magma_dmconvert.cpp 81KB
magma_smconvert.cpp 81KB
magma_zf77.cpp 69KB
magma_cf77.cpp 68KB
magma_df77.cpp 60KB
magma_sf77.cpp 59KB
magma_cmtransfer.cpp 57KB
magma_smtransfer.cpp 57KB
magma_dmtransfer.cpp 57KB
magma_zmtransfer.cpp 56KB
blas_z_v2.cpp 54KB
blas_c_v2.cpp 53KB
blas_d_v2.cpp 53KB
blas_s_v2.cpp 52KB
magma_cmio.cpp 45KB
magma_zmio.cpp 45KB
magma_dmio.cpp 44KB
magma_smio.cpp 44KB
ztrsm_batched.cpp 41KB
ctrsm_batched.cpp 41KB
chegst_m.cpp 41KB
dtrsm_batched.cpp 41KB
zhegst_m.cpp 41KB
dsygst_m.cpp 41KB
strsm_batched.cpp 41KB
ssygst_m.cpp 41KB
cilu.cpp 40KB
zilu.cpp 40KB
dilu.cpp 40KB
silu.cpp 40KB
cpotrf3_mgpu.cpp 40KB
zpotrf3_mgpu.cpp 40KB
dpotrf3_mgpu.cpp 40KB
spotrf3_mgpu.cpp 40KB
magmablas_zf77.cpp 38KB
magmablas_cf77.cpp 38KB
dtrevc3_mt.cpp 36KB
strevc3_mt.cpp 36KB
magmablas_df77.cpp 34KB
magmablas_sf77.cpp 34KB
magma_csolverinfo.cpp 34KB
magma_dsolverinfo.cpp 34KB
magma_ssolverinfo.cpp 34KB
magma_zsolverinfo.cpp 34KB
ctrsm_m.cpp 33KB
ztrsm_m.cpp 33KB
dtrsm_m.cpp 33KB
strsm_m.cpp 33KB
testing_cgesdd.cpp 32KB
testing_dgesdd.cpp 32KB
testing_sgesdd.cpp 32KB
testing_zgesdd.cpp 32KB
constants.cpp 32KB
testing_cgesvd.cpp 32KB
testing_dgesvd.cpp 32KB
testing_sgesvd.cpp 32KB
testing_zgesvd.cpp 31KB
strevc3.cpp 31KB
dtrevc3.cpp 31KB
clahef_gpu.cpp 31KB
zlahef_gpu.cpp 31KB
dlasyf_gpu.cpp 31KB
slasyf_gpu.cpp 31KB
interface.cpp 30KB
magma_util.cpp 29KB
get_nb.cpp 28KB
cbombard_merge.cpp 27KB
zbombard_merge.cpp 27KB
zlatrsd.cpp 27KB
clatrsd.cpp 27KB
dbombard_merge.cpp 27KB
sbombard_merge.cpp 27KB
testing_chetrf.cpp 27KB
testing_zhetrf.cpp 27KB
共 4781 条
- 1
- 2
- 3
- 4
- 5
- 6
- 48
资源评论
Archger
- 粉丝: 76
- 资源: 68
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功