_Vol16No2.indd
|
|
|
- ともみ しもね
- 9 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 α
線形代数演算ライブラリ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
線形代数演算ライブラリ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
11050427-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
untitled
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 }
理研スーパーコンピュータ・システム
線形代数演算ライブラリ BLAS と LAPACK の基礎と実践 2 理化学研究所情報基盤センター 2013/5/30 13:00- 大阪大学基礎工学部 中田真秀 この授業の目的 対象者 - 研究用プログラムを高速化したい人 - LAPACK についてよく知らない人 この講習会の目的 - コンピュータの簡単な仕組みについて - 今後 どうやってプログラムを高速化するか - BLAS, LAPACK
倍々精度RgemmのnVidia C2050上への実装と応用
.. [email protected] 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,
CMSI教育計算科学技術特論A_中田真秀
線形代数演算ライブラリBLAS とLAPACKの基礎と実践 (I) BLAS, LAPACK入門編 中田 真秀 理化学研究所 情報システム本部 2019/5/23 計算科学技術特論A BLAS, LAPACK入門編 講義目的 線形代数演算をコンピュータで行うには 必ずBLAS LAPACKのお世話になる 使うには(若干)知識がいる 実際にUbuntu Linuxで試せる形で提示し 使えるよう になる
4 倍精度基本線形代数ルーチン群 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 東京大学新領域創成科学研究科
Untitled
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,
3.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
インテル(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
ストリーミング 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
211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム 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
DPD 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
64bit 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 ([email protected]) 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)
Second-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:
(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
. 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
2 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....................................
2008 ( 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.
C
C 1 2 1.1........................... 2 1.2........................ 2 1.3 make................................................ 3 1.4....................................... 5 1.4.1 strip................................................
14 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
2 1. Ubuntu 1.1 OS OS OS ( OS ) OS ( OS ) VMware Player VMware Player jp/download/player/ URL VMware Plaeyr VMware
1 2010 [email protected] 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
bash 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
1 (bit ) ( ) PC WS CPU IEEE754 standard ( 24bit) ( 53bit)
GNU MP BNCpack [email protected] 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!" # %$ & " #
3 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
スパコンに通じる並列プログラミングの基礎
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
64bit 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 ([email protected]) 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)
1 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...........................................
c 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
●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
ex01.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
Slide 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. パッチのダウンロード %
[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
1 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.....................................
( 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
高性能計算研究室の紹介 High Performance Computing Lab.
高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 http://na-inet.jp/ 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. Webデザイン特別プログラム 5. 今後について
PC 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
07-二村幸孝・出口大輔.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
Intel® 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()
10/ / /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
[email protected] [email protected] 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
: : : 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);
電気通信大学 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
76
! # % & % & %& %& " $ 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 !$!$ "% "%
スパコンに通じる並列プログラミングの基礎
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
Microsoft PowerPoint - sales2.ppt
最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90
comment.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) /* -----------------------------------------------------------------
TSUBAME2.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.
ARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................
ex01.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
cpp1.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
