_Vol16No2.indd
|
|
- ともみ しもね
- 7 years ago
- Views:
Transcription
1 2552 チュートリアル BLAS, LAPACK 2 1 BLAS, LAPACKチュートリアル パート1 ( 簡 単 な 使 い 方 とプログラミング) 中 田 真 秀 1 読 者 の 想 定 BLAS [1], LAPACK [2] 2 線 形 代 数 の 重 要 性 について Google Page Rank 3D CPU 筆 者 紹 介 BLAS LAPACK 3 BLAS, LAPACKとは 何 か: 世 界 最 高 の 線 形 代 数 演 算 パッケージ BLAS [1] LAPACK [2] BLAS, LAPACK (1)BLAS とは? BLAS Basic Linear Algebra Subprograms FORTRAN77 BLAS BLAS reference BLAS BLAS Level 1, Level 2Level 3 x, y, A, B, C 36 計 算 工 学
2 BLAS, LAPACK Level 1 BLAS - DAXPY DDOT y αx + y dot x T y Level 2 BLAS - -DGEMV y αax + βy DTRSV x A 1 b Level 3 BLAS- - DGEMM DSYRK C αab + βc C αaa T + βc BLAS, LAPACKを 使 う 上 での 注 意 点 BLAS, LAPACK FORTRAN (1)Column major, row majorに 注 意 2 1 column major, row major 1, 4, 2, 5, 3, 6 1column major 1, 2, 3, 4, 5, 6 2row major FROTRAN, Matlab, Octave column major C, C++ row major C, C++ DTRSM B αa 1 B 7 9 Quick reference (2)LAPACK とは? LAPACK Linear Algebra PACKage BLAS LU QR Schur Schur BLAS 3.2Fortran /2/ C API, CS Level 3 BLAS CPU, OS web 9000 図 1 Column Major: 行 列 のデータは 列 方 向 にメモリに 格 納 される 図 2 Row Major: 行 列 のデータは 行 方 向 にメモリに 格 納 される 図 3 Leading Dimensionの 考 え 方 :M N 行 列 Aは より 大 きなLDA N 行 列 の 部 分 行 列 と 扱 うことがある Vol.16, No
3 2554 (2) 行 列 のLeading dimensionとは? leading dimension 3 BLAS, LAPACK LDA, LDB M N A LDA N A i, j C/C++ A[i + j*m] A[i + j*lda] LU Chokesky LAPACK (3)FORTRAN, C, C++ の 配 列 のスタートの 違 い FORTRAN 1C, C N FOR- TRAN0 n C, C++ x i FORTRAN X I C, C++ x[i-1] A i, j FORTRAN A I,J C, C++ column major A[i 1+ j 1 * lda] 5 BLAS, LAPACKの 現 状 について BLAS, LAPACK reference BLAS L1, L2, L3 BLAS 1970 Intel MKL Math Kernel Library AMD ACML AMD Core Math Library GotoBLAS2 ATLAS BLAS, LAPACK GotoBLAS2Intel MKL GotoBLAS2 [3] GotoBLAS2 BLAS, LAPACK CPU, OS BLASLAPACK3.1.1 ATLAS [4] R.Clint Whaley BLAS LAPACK BLAS 2001 GotoBLAS2 %10% BLAS, LAPACK BLAS, LAPACK Gaussian, Gamess, ADF, VASP CPLEX, NUOPT, GLPK Ruby, Python, Perl, Java, C, Mathematica, Maple, Matlab, R, octave, SciLab Top 500 [5] Top 500LINPACK DGEMM - BLAS, LAPACK [6] ScaLAPACK GPU BLAS, LAPACK [7] CPU CPU 10 nvidia GPU MAGMA BLAS, LAPACK [8] Krylov BLAS,LAPACK MPACK 6 Ubuntu 10.04x86(Lucid Lynx)デスクトップ 版 でBLAS, LAPACKを 実 際 に 使 ってみる BLAS, LAPACK GotoBLAS2 Octave [9] C++ BLAS, LAPACK OS Mac Linux Windows (1) 前 準 備 OS Ubuntu x86 Lucid Lynx [10] OS 38 計 算 工 学
4 BLAS, LAPACK VirtualBox [11] /home/maho $ \ $ sudo apt-get install patch gfortran g++ \ libblas-dev octave3.2 (2)GotoBLAS2のインストール GotoBLAS $ cd ; cp <somewhere>/gotoblas2-1.13_bsd.tar.gz. $ tar xvfz GotoBLAS2-1.13_bsd.tar.gz $ cd GotoBLAS2 $./quickbuild.64bit... ln -fs libgoto2_nehalemp-r1.13.so libgoto2.so GotoBLAS build complete. OS...Linux Architecture...x86_64 BINARY...64bit C compiler...gcc(command line : gcc) Fortran compiler...gfortran \ (command line : gfortran) Library Name...libgoto2_nehalemp-r1.13.a\ (Multi threaded; Max num-threads is 8) Intel Core i GHz 2 (3)OctaveでGotoBLAS2の 威 力 を 体 感 する Octave [9] Matlab BLAS, LAPACK Intel Core i GHz, TurboBoost 42.56GFlops, 1GFlops 1 reference BLAS, ATLAS, GotoBLAS2 GFlops BLAS DGEMM BLAS, LAPACK reference $ LD_PRELOAD=/usr/lib/libblas.so:\ /usr/lib/liblapack.so; export LD_PRELOAD ATLAS Ubuntu $ LD_PRELOAD=/usr/lib/atlas/libblas.so:/usr/\ lib/atlas/liblapack.so; export LD_PRELOAD $ LD_PRELOAD=/home/maho/GotoBLAS2/\ libgoto2.so; export LD_PRELOAD BLAS $ octave... GFLOPS = % Ubuntu ATLAS $ LD_PRELOAD=/usr/lib/atlas/libblas.so; \ export LD_PRELOAD $ octave... GFLOPS = % ATLAS ATLAS GFLOPS = % GotoBLAS2 $ LD_PRELOAD=/home/maho/GotoBLAS2/libgoto2.so ;\ export LD_PRELOAD $ octave... GFLOPS = % octave:1> n=4000; A=rand(n); B=(A+A )/2; octave:2> tic(); eig(b); toc(); GotoBLAS2 Vol.16, No
5 2556 Elapsed time is seconds. reference BLAS Elapsed time is seconds. ATLAS Elapsed time is seconds. ATLAS Elapsed time is seconds. ans=[ [ 2.10e+01, 3.36e+02, 7.08e+01];\ [ -6.40e+01, 5.14e+02, 9.50e+01];\ [ 2.10e+02, 3.10e+01, 4.75e+01] ] #check by Matlab/Octave by: alpha * A * B + beta * C (5)LAPACK 実 習 :C++から 行 列 の 固 有 ベクトル 固 有 値 を 求 めるDSYEVを 使 ってみる LAPACK C++ DSYEV GotoBLAS2 ATLAS 4.2 ATLAS reference BLAS GotoBLAS2 (4)BLAS 実 習 :C++から 行 列 - 行 列 積 DGEMMを 使 う - DGEMM α=3, β= 2 C αab + βc 4 $ g++ -static -pthread dgemm_demo.cpp -o \ dgemm_demo -L/home/maho/GotoBLAS2/ -lgoto2 Octave & $./dgemm_demo # dgemm demo... A =[ [ 1.00e+00, 8.00e+00, 3.00e+00];\ [ 2.00e+00, 1.00e+01, 8.00e+00];\ [ 9.00e+00, -5.00e+00, -1.00e+00] ] B =[ [ 9.00e+00, 8.00e+00, 3.00e+00];\ [ 3.00e+00, 1.10e+01, 2.30e+00];\ [ -8.00e+00, 6.00e+00, 1.00e+00] ] C =[ [ 3.00e+00, 3.00e+00, 1.20e+00];\ [ 8.00e+00, 4.00e+00, 8.00e+00];\ [ 6.00e+00, 1.00e+00, -2.00e+00]] alpha = 3.000e+00 beta = e+00 // dgemm test public domain #include <stdio.h> extern "C" { #define ADD_ #include <cblas_f77.h> //Matlab/Octave format void printmat(int N, int M, double *A, int LDA) { double mtmp; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { mtmp = A[i + j * LDA]; printf("%5.2e", mtmp); if (j < M - 1) printf(", "); if (i < N - 1) printf("]; "); else printf("] "); printf("]"); int main() { int n = 3; double alpha, beta; double *A = new double[n*n]; double *B = new double[n*n]; double *C = new double[n*n]; A[0+0*n]=1; A[0+1*n]= 8; A[0+2*n]= 3; A[1+0*n]=2; A[1+1*n]=10; A[1+2*n]= 8; A[2+0*n]=9; A[2+1*n]=-5; A[2+2*n]=-1; B[0+0*n]= 9; B[0+1*n]= 8; B[0+2*n]=3; B[1+0*n]= 3; B[1+1*n]=11; B[1+2*n]=2.3; B[2+0*n]=-8; B[2+1*n]= 6; B[2+2*n]=1; C[0+0*n]=3; C[0+1*n]=3; C[0+2*n]=1.2; C[1+0*n]=8; C[1+1*n]=4; C[1+2*n]=8; C[2+0*n]=6; C[2+1*n]=1; C[2+2*n]=-2; printf("# dgemm demo...\n"); printf("a =");printmat(n,n,a,n);printf("\n"); printf("b =");printmat(n,n,b,n);printf("\n"); printf("c =");printmat(n,n,c,n);printf("\n"); alpha = 3.0; beta = -2.0; F77_dgemm("n", "n", &n, &n, &n, &alpha, A, &n, B, &n, &beta, C, &n); printf("alpha = %5.3e\n", alpha); printf("beta = %5.3e\n", beta); printf("ans="); printmat(n,n,c,n); printf("\n"); 40 計 算 工 学
6 BLAS, LAPACK printf("#check by Matlab/Octave by:\n"); printf("alpha * A * B + beta * C =\n"); delete[]c; delete[]b; delete[]a; 図 4 C++でのDGEMMのサンプル 行 列 - 行 列 積 を 求 め る ファイル 名 は dgemm_demo.cpp とすること , , v 1, v 2, v 3 v 1= , , v 2= , , v 3= , , $ g++ -static -pthread eigenvalue_demo.cpp \ -o eigenvalue_demo -L/home/maho/GotoBLAS2/ \ -lgoto2 -lgfortran Octave & $./eigenvalue_demo A =[ [ 1.00e+00, 2.00e+00, 3.00e+00];\ [ 2.00e+00, 5.00e+00, 4.00e+00];\ [ 3.00e+00, 4.00e+00, 6.00e+00] ] #eigenvalues w =[ [ -4.10e-01]; [ 1.58e+00]; [ 1.08e+01] ] #eigenvecs U =[ [ -9.14e-01, 2.16e-01, 3.42e-01];\ [ 4.01e-02, -7.93e-01, 6.08e-01];\ [ 4.03e-01, 5.70e-01, 7.16e-01] ] #Check Matlab/Octave by: eig(a) U *A*U //dsyev test public domain #include <iostream> #include <stdio.h> extern "C" int dsyev_(const char *jobz, const char *uplo, int *n, double *a, int *lda, double *w, double *work, int *lwork, int *info); //Matlab/Octave format void printmat(int N, int M, double *A, int LDA) { double mtmp; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { mtmp = A[i + j * LDA]; printf("%5.2e", mtmp); if (j < M - 1) printf(", "); if (i < N - 1) printf("]; "); else printf("] "); printf("]"); int main() { int n = 3; int lwork, info; double *A = new double[n*n]; double *w = new double[n]; //setting A matrix A[0+0*n]=1;A[0+1*n]=2;A[0+2*n]=3; A[1+0*n]=2;A[1+1*n]=5;A[1+2*n]=4; A[2+0*n]=3;A[2+1*n]=4;A[2+2*n]=6; printf("a ="); printmat(n, n, A, n); printf("\n"); lwork = -1; double *work = new double[1]; dsyev_("v", "U", &n, A, &n, w, work, &lwork, &info); lwork = (int)work[0]; delete[]work; work = new double[std::max((int) 1, lwork)]; //get Eigenvalue dsyev_("v", "U", &n, A, &n, w, work, &lwork, &info); //print out some results. printf("#eigenvalues \n"); printf("w ="); printmat(n, 1, w, 1); printf("\n"); printf("#eigenvecs \n"); printf("u ="); printmat(n, n, A, n); printf("\n"); printf("#check Matlab/Octave by:\n"); printf("eig(a)\n"); printf("u'*a*u\n"); delete[]work; delete[]w; delete[]a; 図 5 C++でのDSYEV 対 角 化 固 有 ベクトルを 求 めるサ ンプル ファイル 名 は eigenvalue_demo.cpp とする こと 7 終 わりと 次 回 予 告 BLAS LAPACK 謝 辞 参 考 文 献 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Vol.16, No
線形代数演算ライブラリBLASとLAPACKの 基礎と実践1
.. BLAS LAPACK 1, 2013/05/23 CMSI A 1 / 43 BLAS LAPACK (I) BLAS, LAPACK BLAS : - LAPACK : 2 / 43 : 3 / 43 (wikipedia) V : f : V u, v u + v u + v V α K u V αu V V x, y f (x + y) = f (x) + f (y) V x K α
More information線形代数演算ライブラリBLASとLAPACKの 基礎と実践1
1 / 50 BLAS LAPACK 1, 2015/05/21 CMSI A 2 / 50 BLAS LAPACK (I) BLAS, LAPACK BLAS : - LAPACK : 3 / 50 ( ) 1000 ( ; 1 2 ) :... 3 / 50 ( ) 1000 ( ; 1 2 ) :... 3 / 50 ( ) 1000 ( ; 1 2 ) :... 3 / 50 ( ) 1000
More information線形代数演算ライブラリBLASとLAPACKの 基礎と実践1
1 / 56 BLAS LAPACK 1, 2017/05/25 CMSI A 2 / 56 BLAS LAPACK (I) BLAS, LAPACK BLAS : - LAPACK : 3 / 56 ( ) 1000 ( ; 1 2 ) :... 3 / 56 ( ) 1000 ( ; 1 2 ) :... 3 / 56 ( ) 1000 ( ; 1 2 ) :... 3 / 56 ( ) 1000
More information11050427-0_Vol16No3.indd
2599 チュートリアル BLAS, LAPACK 2 2 GPU BLAS, LAPACKチュートリアル パート2 (GPU 編 ) 中 田 真 秀 1 はじめに GPU Graphics Processing Unit BLAS, LAPACK GPU GPU NVIDIA AMD AMD RADEON HD NVIDIA NVIDIA GPU NVIDIA C2050 BLAS, LAPACK
More informationuntitled
A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }
More informationuntitled
A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }
More information理研スーパーコンピュータ・システム
線形代数演算ライブラリ BLAS と LAPACK の基礎と実践 2 理化学研究所情報基盤センター 2013/5/30 13:00- 大阪大学基礎工学部 中田真秀 この授業の目的 対象者 - 研究用プログラムを高速化したい人 - LAPACK についてよく知らない人 この講習会の目的 - コンピュータの簡単な仕組みについて - 今後 どうやってプログラムを高速化するか - BLAS, LAPACK
More information倍々精度RgemmのnVidia C2050上への実装と応用
.. maho@riken.jp http://accc.riken.jp/maho/,,, 2011/2/16 1 - : GPU : SDPA-DD 10 1 - Rgemm : 4 (32 ) nvidia C2050, GPU CPU 150, 24GFlops 25 20 GFLOPS 15 10 QuadAdd Cray, QuadMul Sloppy Kernel QuadAdd Cray,
More informationMBLAS¤ÈMLAPACK; ¿ÇÜĹÀºÅÙÈǤÎBLAS/LAPACK¤ÎºîÀ®
MBLAS MLAPACK; BLAS/LAPACK maho@riken.jp February 23, 2009 MPACK(MBLAS/MLAPACK) ( ) (2007 ) ( ) http://accc.riken.jp/maho/ BLAS/LAPACK http://mplapack.sourceforge.net/ BLAS (Basic Linear Algebra Subprograms)
More informationPowerPoint プレゼンテーション
応用数理概論 準備 端末上で cd ~/ mkdir cppwork cd cppwork wget http://271.jp/gairon/main.cpp wget http://271.jp/gairon/matrix.hpp とコマンドを記入. ls とコマンドをうち,main.cppとmatrix.hppがダウンロードされていることを確認. 1 準備 コンパイル c++ -I. -std=c++0x
More informationCMSI教育計算科学技術特論A_中田真秀
線形代数演算ライブラリBLAS とLAPACKの基礎と実践 (I) BLAS, LAPACK入門編 中田 真秀 理化学研究所 情報システム本部 2019/5/23 計算科学技術特論A BLAS, LAPACK入門編 講義目的 線形代数演算をコンピュータで行うには 必ずBLAS LAPACKのお世話になる 使うには(若干)知識がいる 実際にUbuntu Linuxで試せる形で提示し 使えるよう になる
More information4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司
4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司 3 1 1 日本原子力研究開発機構システム計算科学センター 2 理科学研究所計算科学研究機構 3 東京大学新領域創成科学研究科
More informationUntitled
VASP 2703 2006 3 VASP 100 PC 3,4 VASP VASP VASP FFT. (LAPACK,BLAS,FFT), CPU VASP. 1 C LAPACK,BLAS VASP VASP VASP VASP bench.hg VASP CPU CPU CPU northwood LAPACK lmkl lapack64, BLAS lmkl p4 LA- PACK liblapack,
More information3.2 Linux root vi(vim) vi emacs emacs 4 Linux Kernel Linux Git 4.1 Git Git Linux Linux Linus Fedora root yum install global(debian Ubuntu apt-get inst
1 OS Linux OS OS Linux Kernel 900 1000 IPA( :http://www.ipa.go.jp/) 8 12 ( ) 16 ( ) 4 5 22 60 2 3 6 Linux Linux 2 LKML 3 3.1 Linux Fedora 13 Ubuntu Fedora CentOS 3.2 Linux root vi(vim) vi emacs emacs 4
More informationCPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2
FFT 1 Fourier fast Fourier transform FFT FFT FFT 1 FFT FFT 2 Fourier 2.1 Fourier FFT Fourier discrete Fourier transform DFT DFT n 1 y k = j=0 x j ω jk n, 0 k n 1 (1) x j y k ω n = e 2πi/n i = 1 (1) n DFT
More informationインテル(R) Visual Fortran Composer XE
Visual Fortran Composer XE 1. 2. 3. 4. 5. Visual Studio 6. Visual Studio 7. 8. Compaq Visual Fortran 9. Visual Studio 10. 2 https://registrationcenter.intel.com/regcenter/ w_fcompxe_all_jp_2013_sp1.1.139.exe
More informationストリーミング SIMD 拡張命令2 (SSE2) を使用した SAXPY/DAXPY
SIMD 2(SSE2) SAXPY/DAXPY 2.0 2000 7 : 248600J-001 01/12/06 1 305-8603 115 Fax: 0120-47-8832 * Copyright Intel Corporation 1999, 2000 01/12/06 2 1...5 2 SAXPY DAXPY...5 2.1 SAXPY DAXPY...6 2.1.1 SIMD C++...6
More information211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS /1/18 a a 1 a 2 a 3 a a GPU Graphics Processing Unit GPU CPU GPU GPGPU G
211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS211 211/1/18 GPU 4 8 BLAS 4 8 BLAS Basic Linear Algebra Subprograms GPU Graphics Processing Unit 4 8 double 2 4 double-double DD 4 4 8 quad-double
More informationDPD Software Development Products Overview
2 2007 Intel Corporation. Core 2 Core 2 Duo 2006/07/27 Core 2 precise VTune Core 2 Quad 2006/11/14 VTune Core 2 ( ) 1 David Levinthal 3 2007 Intel Corporation. PC Core 2 Extreme QX6800 2.93GHz, 1066MHz
More information64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved
(Version: 2013/5/16) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)
More informationSecond-semi.PDF
PC 2000 2 18 2 HPC Agenda PC Linux OS UNIX OS Linux Linux OS HPC 1 1CPU CPU Beowulf PC (PC) PC CPU(Pentium ) Beowulf: NASA Tomas Sterling Donald Becker 2 (PC ) Beowulf PC!! Linux Cluster (1) Level 1:
More information(Basic Theory of Information Processing) 1
(Basic Theory of Information Processing) 1 10 (p.178) Java a[0] = 1; 1 a[4] = 7; i = 2; j = 8; a[i] = j; b[0][0] = 1; 2 b[2][3] = 10; b[i][j] = a[2] * 3; x = a[2]; a[2] = b[i][3] * x; 2 public class Array0
More information. UNIX, Linux, KNOPPIX. C,.,., ( 1 ) p. 2
2009 ( 1 ) 2009 ( 1 ) p. 1 . UNIX, Linux, KNOPPIX. C,.,.,. 2009 ( 1 ) p. 2 , +, ( ), ( ), or PC orange2, knxm2008vm, iyokan-6 KNOPPIX/Math (DVD ) 2009 ( 1 ) p. 3 ,. Mathematica (20-30 /1 ), Maple (20 /1
More informationMicrosoft Word - HOKUSAI_system_overview_ja.docx
HOKUSAI システムの概要 1.1 システム構成 HOKUSAI システムは 超並列演算システム (GWMPC BWMPC) アプリケーション演算サーバ群 ( 大容量メモリ演算サーバ GPU 演算サーバ ) と システムの利用入口となるフロントエンドサーバ 用途の異なる 2 つのストレージ ( オンライン ストレージ 階層型ストレージ ) から構成されるシステムです 図 0-1 システム構成図
More informationAutoTuned-RB
ABCLib Working Notes No.10 AutoTuned-RB Version 1.00 AutoTuned-RB AutoTuned-RB RB_DGEMM RB_DGEMM ( TransA, TransB, M, N, K, a, A, lda, B, ldb, b, C, ldc ) L3BLAS DGEMM (C a Trans(A) Trans(B) b C) (1) TransA:
More information2 2.1 Mac OS CPU Mac OS tar zxf zpares_0.9.6.tar.gz cd zpares_0.9.6 Mac Makefile Mekefile.inc cp Makefile.inc/make.inc.gfortran.seq.macosx make
Sakurai-Sugiura z-pares 26 9 5 1 1 2 2 2.1 Mac OS CPU......................................... 2 2.2 Linux MPI............................................ 2 3 3 4 6 4.1 MUMPS....................................
More information2008 ( 13 ) C LAPACK 2008 ( 13 )C LAPACK p. 1
2008 ( 13 ) C LAPACK LAPACK p. 1 Q & A Euler http://phase.hpcc.jp/phase/mppack/long.pdf KNOPPIX MT (Mersenne Twister) SFMT., ( ) ( ) ( ) ( ). LAPACK p. 2 C C, main Asir ( Asir ) ( ) (,,...), LAPACK p.
More informationC
C 1 2 1.1........................... 2 1.2........................ 2 1.3 make................................................ 3 1.4....................................... 5 1.4.1 strip................................................
More information14 2 Scilab Scilab GUI インタグラフ プリタ描画各種ライブラリ (LAPACK, ODEPACK, ) SciNOTES ハードウェア (CPU, GPU) 21 Scilab SciNotes 呼び出し 3 変数ブラウザ 1 ファイルブラウザ 2 コンソール 4 コマンド履歴
13 2 Scilab Scilab Scilab 21 Scilab Scilab[4] INRIA C/C++, Fortran LAPACK Matlab Scilab Web http://wwwscilaborg/ 2016 4 552 Windows 10/8x MacOS X, Linux Scilab Octave Matlab (Matlab Toolbox) (Mathematica
More information2 1. Ubuntu 1.1 OS OS OS ( OS ) OS ( OS ) VMware Player VMware Player jp/download/player/ URL VMware Plaeyr VMware
1 2010 k-okada@jsk.t.u-tokyo.ac.jp http://www.jsk.t.u-tokyo.ac.jp/~k-okada/lecture/ 2010 4 5 Linux 1 Ubuntu Ubuntu Linux 1 Ubuntu Ubuntu 3 1. 1 Ubuntu 2. OS Ubuntu OS 3. OS Ubuntu https://wiki.ubuntulinux.jp/ubuntutips/install/installdualboot
More informationbash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows ˆ Windows10 64bit Wi
Windows bash on Ubuntu on Windows [Windows Creators Update(1703) ] TAKE 2017-10-06 bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu on Windows bash on Ubuntu
More information1 (bit ) ( ) PC WS CPU IEEE754 standard ( 24bit) ( 53bit)
GNU MP BNCpack tkouya@cs.sist.ac.jp 2002 9 20 ( ) Linux Conference 2002 1 1 (bit ) ( ) PC WS CPU IEEE754 standard ( 24bit) ( 53bit) 10 2 2 3 4 5768:9:; = %? @BADCEGFH-I:JLKNMNOQP R )TSVU!" # %$ & " #
More information1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N
GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa
More informationI 2 tutimura/ I 2 p.1/??
I 2 tutimura@mist.i.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/ 2002 4 25 I 2 p.1/?? / / Makefile I 2 p.2/?? Makefile make GNU make I 2 p.3/?? Makefile L A T E X I 2 p.4/?? core (1) gcc,
More informationGPU CUDA CUDA 2010/06/28 1
GPU CUDA CUDA 2010/06/28 1 GPU NVIDIA Mark Harris, Optimizing Parallel Reduction in CUDA http://developer.download.nvidia.com/ compute/cuda/1_1/website/data- Parallel_Algorithms.html#reduction CUDA SDK
More information3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");
(Basic Theory of Information Processing) Java (eclipse ) Hello World! eclipse Java 1 3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello
More information2
( ) 1 2 3 1.CPU, 2.,,,,,, 3. register, register, 4.L1, L2, (L3), (L4) 4 register L1 cache L2 cache Main Memory,, L2, L1 CPU L2, L1, CPU 5 , 6 dgem2vu 7 ? Wiedemann algorithm u 0, w 0, s i, s i = u 0 Ai
More informationappli_HPhi_install
2018/3/7 HΦ version 3.0.0 インストール手順書 (Linux 64 ビット版 ) 目次 1. アプリケーション概要...- 1-2. システム環境...- 1-3. 必要なツール ライブラリのインストール...- 1-1 cmake...- 2-2 numpy...- 3-4. アプリケーションのインストール...- 4-5. 動作確認の実施...- 5 - 本手順書は HΦ
More informationLetItB Installation Manual - Japanese version
独立行政法人沖縄科学技術研究基盤整備機構 神経計算ユニット 2008 年 4 月 21 日第 1 版 目次 1. はじめに...3 2. OS 別インストール作業...4 3. Xerces-C Library インストール...5 4. Graph Visualization Library インストール...6 5. Gnu Scientific Library インストール...6 6. 数値計算用ライブラリ
More informationMinsky の電力消費量の調査 (1) ディープラーニングデモプログラム (mnist) の実行デモプログラム 添付 1 CPU 実行 シングル GPU 実行 2GPU 実行での計算時間と電力消費量を比較した 〇計算時間 CPU 実行 シングル GPU 実行複数 GPU 実行 今回は 2GPU 計
IBM Minsky における 電力性能比検証報告書 (Deep Learning および HPC アプリケーション ) 2017 年 1 月 ビジュアルテクノロジー株式会社 Minsky の電力消費量の調査 (1) ディープラーニングデモプログラム (mnist) の実行デモプログラム 添付 1 CPU 実行 シングル GPU 実行 2GPU 実行での計算時間と電力消費量を比較した 〇計算時間 CPU
More information¹âÀºÅÙÀþ·ÁÂå¿ô±é»»¥é¥¤¥Ö¥é¥êMPACK¤Î³«È¯
.... 2 2010/11/27@ . MPACK 0.6.7: Multiple precision version of BLAS and LAPACK http://mplapack.sourceforge.net/ @ MPACK (MBLAS and MLAPACK) BLAS/LAPACK (API) 0.6.7 (2010/8/20); 666 100 MLAPACK, MBLAS
More informationスパコンに通じる並列プログラミングの基礎
2016.06.06 2016.06.06 1 / 60 2016.06.06 2 / 60 Windows, Mac Unix 0444-J 2016.06.06 3 / 60 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 0444-J 2016.06.06 4 / 60 ( : ) 6 6 ( ) 6 10 6 16 SX-ACE 6 17
More information(1/2) 2/45 HPC top runner application programmer PC-9801F N88-BASIC Quick BASIC + DOS ( ) BCB Windows Percolation, Event-driven MD ActionScript Flash
1/45 8 Outline 1. 2. 3. 4. Jun. 6, 2013@ A (1/2) 2/45 HPC top runner application programmer PC-9801F N88-BASIC Quick BASIC + DOS ( ) BCB Windows Percolation, Event-driven MD ActionScript Flash MPI MD (2/2)
More information¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse
I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2
More information64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved
(Version: 2013/7/10) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)
More information1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU.....
CPU GPU N Q07-065 2011 2 17 1 1 4 1.1........................................... 4 1.2.................................. 4 1.3................................... 4 2 5 2.1 GPU...........................................
More informationBLAS の概要
GotoBLAS チュートリアル 後藤和茂 ( テキサス州立大学 ) 26/12/9 Kazushige Goto (TACC) 1 自己紹介 お題目 数値計算と最適化の基本事項の確認 BLAS とは? GotoBLAS の特徴 Level 1 ~Level 3 ルーチンの構造と特徴 BLAS による最適化の限界 26/12/9 Kazushige Goto (TACC) 2 自己紹介 早稲田大学電気工学修士課程卒
More informationc a a ca c c% c11 c12
c a a ca c c% c11 c12 % s & % c13 c14 cc c16 c15 %s & % c211 c21% c212 c21% c213 c21% c214 c21% c215 c21% c216 c21% c23 & % c24 c25 c311 c311 % c% c % c312 %% a c31 c315 c32 c33 c34 % c35 c36 c411 c N
More information●70974_100_AC009160_KAPヘ<3099>ーシス自動車約款(11.10).indb
" # $ % & ' ( ) * +, -. / 0 1 2 3 4 5 6 7 8 9 : ; < = >? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y " # $ % & ' ( ) * + , -. / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B
More informationXMPによる並列化実装2
2 3 C Fortran Exercise 1 Exercise 2 Serial init.c init.f90 XMP xmp_init.c xmp_init.f90 Serial laplace.c laplace.f90 XMP xmp_laplace.c xmp_laplace.f90 #include int a[10]; program init integer
More informationex01.dvi
,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double
More informationsupercomputer2010.ppt
nanri@cc.kyushu-u.ac.jp 1 !! : 11 12! : nanri@cc.kyushu-u.ac.jp! : Word 2 ! PC GPU) 1997 7 http://wiredvision.jp/news/200806/2008062322.html 3 !! (Cell, GPU )! 4 ! etc...! 5 !! etc. 6 !! 20km 40 km ) 340km
More informationSlide 1
OpenMX のコンパイル方法 Truong Vinh Truong Duy (The University of Tokyo) 2014/10/10 OpenMX のダウンロード 1. OpenMX のダウンロード % wget http://www.openmx-square.org/openmx3.7.tar.gz % tar openmx3.7.tar.gz 2. パッチのダウンロード %
More informationmemo
計数工学プログラミング演習 ( 第 3 回 ) 2017/04/25 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 内容 ポインタの続き 引数の値渡しと参照渡し 構造体 2 ポインタで指されるメモリへのアクセス double **R; 型 R[i] と *(R+i) は同じ意味 意味 R double ** ポインタの配列 ( の先頭 ) へのポインタ R[i]
More information[1] [2] [3] (RTT) 2. Android OS Android OS Google OS 69.7% [4] 1 Android Linux [5] Linux OS Android Runtime Dalvik Dalvik UI Application(Home,T
LAN Android Transmission-Control Middleware on multiple Android Terminals in a WLAN Environment with consideration of Round Trip Time Ai HAYAKAWA, Saneyasu YAMAGUCHI, and Masato OGUCHI Ochanomizu University
More information1 1 2 2 2.1 Java......... 2 2.2................................. 3 2.3.................................. 3 3 4 3.1....................................
06H082 1 1 2 2 2.1 Java......... 2 2.2................................. 3 2.3.................................. 3 3 4 3.1..................................... 4 3.2 GP.....................................
More information( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I
GPGPU (II) GPGPU CUDA 1 GPGPU CUDA(CUDA Unified Device Architecture) CUDA NVIDIA GPU *1 C/C++ (nvcc) CUDA NVIDIA GPU GPU CUDA CUDA 1 CUDA CUDA 2 CUDA NVIDIA GPU PC Windows Linux MaxOSX CUDA GPU CUDA NVIDIA
More information高性能計算研究室の紹介 High Performance Computing Lab.
高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 http://na-inet.jp/ 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. Webデザイン特別プログラム 5. 今後について
More informationPC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU
1. 1.1. 1.2. 1 PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 2. 2.1. 2 1 2 C a b N: PC BC c 3C ac b 3 4 a F7 b Y c 6 5 a ctrl+f5) 4 2.2. main 2.3. main 2.4. 3 4 5 6 7 printf printf
More information07-二村幸孝・出口大輔.indd
GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia
More informationIntel® Compilers Professional Editions
2007 6 10.0 * 10.0 6 5 Software &Solutions group 10.0 (SV) C++ Fortran OpenMP* OpenMP API / : 200 C/C++ Fortran : OpenMP : : : $ cat -n main.cpp 1 #include 2 int foo(const char *); 3 int main()
More informationProg1_14th
2012 年 7 月 19 日 ( 木 ) 実 施 構 造 体 レコードと 構 造 体 前 々 回 の 教 材 で 触 れたように, 複 数 の 項 目 に 渡 るデータを 一 まとめにしたものをレコードとい う 例 えば, 次 のように 学 籍 番 号, 氏 名, 履 修 科 目 コード, 点 数, 評 価 といった 項 目 による 1 人 分 のデータを 一 まとめにしたものは 1 件 分 のレコードである
More information10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
More information: : : TSTank 2
Java (8) 2008-05-20 Lesson6 Lesson5 Java 1 Lesson 6: TSTank1, TSTank2, TSTank3 java 2 car1 car2 Car car1 = new Car(); Car car2 = new Car(); car1.setcolor(red); car2.setcolor(blue); car2.changeengine(jet);
More informationC による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 新装版 1 刷発行時のものです.
C による数値計算法入門 ( 第 2 版 ) 新装版 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. http://www.morikita.co.jp/books/mid/009383 このサンプルページの内容は, 新装版 1 刷発行時のものです. i 2 22 2 13 ( ) 2 (1) ANSI (2) 2 (3) Web http://www.morikita.co.jp/books/mid/009383
More informationJava (7) Lesson = (1) 1 m 3 /s m 2 5 m 2 4 m 2 1 m 3 m 1 m 0.5 m 3 /ms 0.3 m 3 /ms 0.6 m 3 /ms 1 1 3
Java (7) 2008-05-20 1 Lesson 5 1.1 5 3 = (1) 1 m 3 /s 1 2 3 10 m 2 5 m 2 4 m 2 1 m 3 m 1 m 0.5 m 3 /ms 0.3 m 3 /ms 0.6 m 3 /ms 1 1 3 1.2 java 2 1. 2. 3. 4. 3 2 1.3 i =1, 2, 3 V i (t) 1 t h i (t) i F, k
More information電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニ
電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニタと端末の電源を入れる 2. GNU GRUB version 2.02 Beta2-36ubuntu3
More information†ı25”Y„o-PDF.ren
12,000 10,000 8,000 6,000 4,000 2,000 0 1998 1999 2000 2001 2002 2003 2004 1,200 1,000 800 600 400 200 0 1998 1999 2000 2001 2002 2003 2004 $ "! ''" '' ''$ ''% ''& '''! " ' & % $ "! ''" ' '$ '% '& ''!
More information76
! # % & % & %& %& " $ 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 % & &! & $ & " & $ & # & ' 91 92 $ % $'%! %(% " %(% # &)% & 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 !$!$ "% "%
More informationスパコンに通じる並列プログラミングの基礎
2018.06.04 2018.06.04 1 / 62 2018.06.04 2 / 62 Windows, Mac Unix 0444-J 2018.06.04 3 / 62 Part I Unix GUI CUI: Unix, Windows, Mac OS Part II 2018.06.04 4 / 62 0444-J ( : ) 6 4 ( ) 6 5 * 6 19 SX-ACE * 6
More information8 / 0 1 i++ i 1 i-- i C !!! C 2
C 2006 5 2 printf() 1 [1] 5 8 C 5 ( ) 6 (auto) (static) 7 (=) 1 8 / 0 1 i++ i 1 i-- i 1 2 2.1 C 4 5 3 13!!! C 2 2.2 C ( ) 4 1 HTML はじめ mkdir work 作業用ディレクトリーの作成 emacs hoge.c& エディターによりソースプログラム作成 gcc -o fuga
More informationnumb.dvi
11 Poisson kanenko@mbkniftycom alexeikanenko@docomonejp http://wwwkanenkocom/ , u = f, ( u = u+f u t, u = f t ) 1 D R 2 L 2 (D) := {f(x,y) f(x,y) 2 dxdy < )} D D f,g L 2 (D) (f,g) := f(x,y)g(x,y)dxdy (L
More informationQD library! Feature! Easy to use high precision! Easy to understand the structure of arithmetic! 2 type high precision arithmetic! Double-Double precision (pseudo quadruple precision)! Quad-Double precision
More informationQ.5-1 Ans.
5 Q.5-1 Q.5-2 Q.5-3 Q.5-4 Q.5-5 Q.5-6 Q.5-7 Q.5-8 Q.5-9 Q.5-10 Q.5-11 Q.5-12 Q.5-13 Q.5-14 Q.5-15 Q.5-1 Ans. Q.4-5 1 Q.5-3 Check Q.5-2 200 203 197 199 Q.5-2 Ans. Check Q.5-3 Ans. Q.5-2 12 Q.6-4 69 56
More informationInformatics 2015
C 計算機の歴史 新旧のソロバン バベッジの階差機関 19C前半 手回し計算機 19C後半 20C後半 スパコン 1960年代 ENIAC (1946) 大型汎用計算機 1950年代 1980年代 電卓 1964 パソコン 1970年代 現在のコンピュータ Input Output Device Central Processing Unit I/O CPU Memory OS (Operating
More information1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() 2 double *a[ ]; double 1 malloc() dou
1 1.1 C 2 1 double a[ ][ ]; 1 3x3 0 1 3x3 ( ) 0.240 0.143 0.339 0.191 0.341 0.477 0.412 0.003 0.921 1.2 malloc() 2 double *a[ ]; double 1 malloc() double 1 malloc() free() 3 #include #include
More informationMicrosoft PowerPoint - sales2.ppt
最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90
More informationInformatics 2014
C 計算機の歴史 手回し計算機 新旧のソロバン バベッジの階差機関 スパコン ENIAC (1946) パソコン 大型汎用計算機 電卓 現在のコンピュータ Input Output Device Central Processing Unit I/O CPU Memory OS (Operating System) OS Windows 78, Vista, XP Windows Mac OS X
More information北米アジャイル界デビュー fkinoからは 何も聞いてませんでした これまでに書いたもの Web 2.0 ビギナーズバイブル エンジニアマインド vol.5 開発の現場 vol.011 Dave 達人 Thomasも云ってたよ http://jp.rubyist.net/rubykaigi2007/?c=plugin;plugin=attach_download;p=program0610;file_name=the_island_of_ruby_j.pdf
More informationcomment.dvi
( ) (sample1.c) (sample1.c) 2 2 Nearest Neighbor 1 (2D-class1.dat) 2 (2D-class2.dat) (2D-test.dat) 3 Nearest Neighbor Nearest Neighbor ( 1) 2 1: NN 1 (sample1.c) /* -----------------------------------------------------------------
More informationTSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日
TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 目次 1. TSUBAMEのGPU 環境 2. プログラム作成 3. プログラム実行 4. 性能解析 デバッグ サンプルコードは /work0/gsic/seminars/gpu- 2011-09- 28 からコピー可能です 1.
More information( ) ( ) ( ) 2
(Basic Theory of Information Processing) 1 1 1.1 - - ( ) ( ) ( ) 2 Engineering Transformation or ( ) Military Transformation ( ) ( ) ( ) HDTV 3 ( ) or ( ) 4 5.609 (TSUBAME2.5, 11 (2014.6)) IP ( ) ( ) (
More informationARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................
More informationex01.dvi
,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) double
More informationcpp1.dvi
2017 c 1 C++ (1) C C++, C++, C 11, 12 13 (1) 14 (2) 11 1 n C++ //, [List 11] 1: #include // C 2: 3: int main(void) { 4: std::cout
More information