2... Numerical Recipes [1] Matrix Computation [2].,.. 2.1, ( ) A. A,.,.. A [ ] [ ] a x T 0 A =, P = I β [0 u T ], P = I βuu T, β = 2/ u 2 x B u P ( ),

Size: px
Start display at page:

Download "2... Numerical Recipes [1] Matrix Computation [2].,.. 2.1, ( ) A. A,.,.. A [ ] [ ] a x T 0 A =, P = I β [0 u T ], P = I βuu T, β = 2/ u 2 x B u P ( ),"

Transcription

1 T2K JST/CREST 1,.,, AX = XΛ AX = BXΛ. A, B (B ), Λ, X.,,., 1,.,.,,.., T2K.,, 1. T2K (HA8000),. eingen_s,, 64 (1024 ). T2K TIPS, T2K.. 1

2 2... Numerical Recipes [1] Matrix Computation [2].,.. 2.1, ( ) A. A,.,.. A [ ] [ ] a x T 0 A =, P = I β [0 u T ], P = I βuu T, β = 2/ u 2 x B u P ( ), P x = x e1 u x ( 0 )., P AP T [ P AP T a x e T ] 1 = x e 1 P B P T, e 1 1 0, 0. P B P T., T. ( ) T, A., A P T A. T x = P AP T x = λx, A(P T x) = λ(p T x) y = P T x. P B P T. P B P = (I βuu T )B(I βuu T ) = B uv T vu T, v = β(bu β/2(ubu T )u) 2

3 for j = N,..., 1 step M U, V, W A (,j M+1:j) for k = 0,..., M 1 (1) Householder block reflector: (β, u (k) ) := H(W (,j k) ) (2) Matrix-Vectors multiplication v (k 2 3 ) A (1:j k 1,1:j k 1) u (k) (3) v (k 1 3 ) v (k 2 3 ) (UV T + V U T )u (k) (4) v (k) β(v (k 1 3 ) su (k) ), s = 1 2 βu(k)t v (k 1 3 ) U [U, u (k) ], V [V, v (k) ]. (5) W (,j k:j) W (,j k:j) (u (k) v (k)t + v (k) u (k)t ) (,j k:j) endfor A (,j M+1:j) W (6) 2M rank-update (BLAS3) A (1:j M,1:j M) A (1:j M,1:j M) (UV T + V U T ) (1:j M,1:j M) endfor 1: Dongarra Sorensen,.,.,,, 1 1..,., 10%., Dongarra Sorensen 1 [3]., (6). BLAS(Basic Linear Algebra Subprograms) DGEMM. DGEMM HPC Challenge [4] Linpack [5], 70%. (6) 0, 1/2., 3

4 . 2.2 (Cuppen s divide and conquer method),.,, QR.,., Cuppen [6]., Cuppen., Dhillon MRRR(Multiple Relatively Robust Representations)[7] LAPACK3. I-SVD[8],. Cuppen 1. 1, 2 L = diag(λ 1, λ 2,..., λ n ), M = diag(µ 1, µ 2,..., µ n ) S, a. S T MS = L + aa T, a, λ, µ (secular ). 1 + n j=1 a 2 j λ j µ k = 0, L a M., 1 (aa T ),. Cuppen. 1. T 2 T 1 T 2 1. T = [ T1 T 2 ] + uu T 2. T 1, T 2., Q T 1 T 1Q 1 = D 1, Q T 2 T 2Q 2 = D 2 ( D 1, D 2 ). Q = diag(q 1, Q 2 ), T, ] Q T T Q = [ D1 D 2 + (Q T u)(q T u) T 4

5 .. λ (D λi) 1 Q T u, T Q Q(D λi) 1 Q T u. 3..,.,. Löwner., µ i, λ i, 1 j a j. a 2 j = (µ j λ j ) i j µ i λ j λ i λ j, 1 ( 2. Q T u),. (),., Löwner. LAPACK3,. T 1, T 2., 2,., secular Q. Q., DGEMM.,.,. 2.3 P j j = 1, 2, 3...,. P T = P n P n 1 P 2 P 1. x. P j x = (I β j u j u T j )x = x β j (u T j x)u j, dot( ) axpy()., x X 5

6 2:.,.,., I UCU T U C. 2, U C. (I β j u j u T j )(I UC j 1 U T ) = I β j u j u T j UC j 1 U T + β j u j u T j UC j 1 U T [ ] Cj 1 c 2 I [U, u j ] [U, u j ] T = I UC j 1 U T u j c 1 U T Uc 2 u T j u j c 3 u T j c 1 c 3 [ ] C j 1 0 C j = β j u T j UC, U := [U, u j ] j 1 β j WY [9].,,.,. (I UCU T )X = X (UC)(U T X) , 3 3.,,,., O(N 3 )., O(N 3 ).. 6

7 M ethod: Householder O(N 3 ) Divide&Conqure O(N 2 )~O(N 3 ) Back Transform O(N 3 ) Dense matrix Tridiagonal Eigenpairs Eigenpairs 3 3: ScaLAPACK T2K,, ScaLAPACK[10]. API. T2K HA8000. ScaLAPACK, LAPACK 1995 version version1.8. netlib 1,. ScaLAPACK,. 2. LAPACK LAPACK version3.2.1( )., ScaLAPACK LAPACK version2,. [11, 12]., 1995, 1990, T2K, ScaLAPACK , T2K, 15,. 1 ScaLAPACK pdsyevd, 3 7

8 pdsytrd, pdstedc, pdormtr. 4. Intel version 11, BLAS Intel MKL 11. Intel MKL, OMP_NUM_THREADS 4., numactl, 1 1., (FLOPS ), PDSYTRD 161GFLOPS, PDORMTR 1354GFLOPS. 3029GFLOPS., 64, 329GFLOPS, 2235GFLOPS, 580GFLOPS. T2K 2.3*4*16 =147.2GFLOPS,. ( ), ScaLAPACK , GFLOPS., eigen_s 1146 ( 5). 1598GFLOPS, ScaLAPACK , ScaLAPACK. ScaLAPACK 2. 4, NB. ( ), NB. 2 PDSYTRD PDORMTR 2, NB=1., NB.. NB,. %. 8

9 1: ScaLAPACK T2K ( ) ( , 128, 4 / ) ( , 256, 4 / ) 2: ( 2.1 PDSYTRD NB ) ( 2.2 PDORMTR NB ) 9

10 subroutine EIGEN(n, NB) integer integer real(8), pointer real(8), pointer :: n, NB :: lda1,lda2 :: d(:),e(:),tau(:) :: w(:), a(:), z(:) INTEGER, PARAMETER :: DLEN_ = 9 integer :: DESCA(DLEN_), DESCZ(DLEN_) integer integer real(8), pointer integer, pointer include mpif.h real(8) :: t1,t2, z1,z2 :: world_size, my_rank :: LWORK, LIWORK, TRILWMIN :: work(:) :: iwork(:) call MPI_COMM_SIZE( MPI_COMM_WORLD, world_size, ierr ) call MPI_COMM_RANK( MPI_COMM_WORLD, my_rank, ierr )! BLACS/PBLAS/SCALAPACK initialization CALL BLACS_PINFO( IAM, NPROCS ) if ( NPROCS < 1 ) then! MPI group setup NPROCS = world_size IAM = my_rank CALL BLACS_SETUP( IAM, NPROCS ) end if CALL BLACS_GET( -1, 0, ICTXT ) NPROW = INT(SQRT(DBLE(NPROCS))) DO IF(MOD(NPROCS,NPROW)==0)THEN EXIT ENDIF NPROW=NPROW-1 ENDDO NPCOL = NPROCS/NPROW CALL BLACS_GET( 0, 0, ICTXT ) CALL BLACS_GRIDINIT( ICTXT, Row-major, NPROW, NPCOL ) call BLACS_GRIDINFO( ICTXT, NPROW, NPCOL, MYROW, MYCOL )! BLACS array registration NP = NUMROC( n, NB, MYROW, 0, NPROW ) NQ = NUMROC( n, NB, MYCOL, 0, NPCOL ) lda1 = ((NP-1)/16+1)*16; lda2 = NQ lda = lda1; ldz = lda1 call DESCINIT( DESCA, n, n, NB, NB, 0, 0, ICTXT, lda, INFO ) allocate(w(n+1), a(lda1*lda2), z(lda1*lda2)) allocate(d(n+1), e(n+1), tau(n+1) )! preparing working arrays TRILWMIN = 3*N + MAX( NB*( NP+1 ), 3*NB ) LWORK = MAX( 1+6*N+2*NP*NQ, TRILWMIN ) + 2*N + 2*NB*NB LIWORK = 2+7*n+8*NPCOL allocate(work(lwork+16), iwork(liwork+16), stat=istat) if(istat.ne.0) then print*,"memory exhausted" call flush(6) call MPI_Abort( MPI_COMM_WORLD, 1, ierr ) end if!$omp PARALLEL DO PRIVATE(k1,i0,j0,i1,j1,i,j) do k2=1,lda2 do k1=1,lda1 i0=(k1-1)/nb; j0=(k2-1)/nb i1=mod(k1-1,nb); j1=mod(k2-1,nb) i=(i0*nprow+myrow)*nb+i1+1 j=(j0*npcol+mycol)*nb+j1+1 if(i<=n.and.j<=n)then a(k1+(k2-1)*lda)=(n+1)-max(i,j) else a(k1+(k2-1)*lda)=0.0d+00 endif end do end do!$omp END PARALLEL DO z = 0.0D+00 * * * if(my_rank==0)then print*,"n=",n,"nb=",nb endif z1 = MPI_Wtime() t1=mpi_wtime() CALL PDSYTRD( U, n, $ a(1), 1, 1, DESCA(1), $ d(1), e(1), tau(1), $ WORK(1), LWORK, INFO ) t2=mpi_wtime() if(my_rank==0)then print*,"pdsytrd",t2-t1,dble(n)**3*(4./3.)/(t2-t1)*1d-9 endif CALL PDLARED1D( n, 1, 1, DESCA(1), d(1), w(1), $ WORK(1), LWORK ) CALL PDLARED1D( n, 1, 1, DESCA(1), e(1), d(1), $ WORK(1), LWORK ) w(n+1)=0.0d+00 d(n+1)=0.0d+00 t1=mpi_wtime() CALL PDSTEDC( I, n, $ w(1), d(1+1), $ z(1), 1, 1, DESCA(1), $ WORK(1), LWORK, IWORK(1), LIWORK, INFO ) t2=mpi_wtime() if(my_rank==0)then print*,"pdstedc",t2-t1 endif t1=mpi_wtime() CALL PDORMTR( L, U, N, n, n, $ a(1), 1, 1, DESCA(1), $ z(1), 1, 1, DESCA(1), $ WORK(1+16), LWORK, IINFO ) t2=mpi_wtime() if(my_rank==0)then print*,"pdormtr",t2-t1,dble(n)**3*(4./2.)/(t2-t1)*1d-9 endif z2 = MPI_Wtime() if(my_rank==0)then print*,"total=",z2-z1,dble(n)**3*(10./3.)/(z2-z1)*1d-9 endif deallocate(work,iwork,w,a,z,d,e,tau)! BLACS/PBLAS/SCALAPACK finalize call BLACS_GRIDEXIT( ICTXT ) return end subroutine 4: ScaLAPACK.. PDSYTRD PDORMTR PDSYEVD. 10

11 3.2 eigen s 3.1 eigen_s.,,,. SC06, [13]., 70%., LINPACK 80%,. eigen_s,, T2K. T2K 2008, T2K 1., HPC 512. (2009 2[14]). eigen_s ScaLAPACK, 3, TRED1, DC, TRBAKWY.. ScaLAPACK pdstedc. MPI ( flat MPI), MPI OpenMP. eigen_s, 2, NB.,,., best , T2K *4*16*64=9421GFLOPS, 4.2%., 10., 81920, 16.9%. 20,

12 T 1000 [sec] G G T TRBAKW Y DC TRED [ ] 5: eigen s (T2K 64, 4 / ) (FLOPS), G 500 [sec] G G G TRBAKW Y DC TRED [ ] 6: eigen s (Xeon Quadcore 8, 4 / ) (FLOPS),. 12

13 , 2004GFLOPS( 21.2%). 6, eigen_s. Quadcore Xeon X3330(2.66GHz) 8, T2K,.., T2K PC. 7, 8 Strong Scaling Weak Scaling.,, weak scaling, ( 3, weak scaling ).. N=9600*( ),. T2K 9600, weak scaling,.,.,,. 9, T2K 1 16, eigen_s (GFLOPS). (TRED1) (TRBAKWY), , 1 16, 2 8, 4 4, 8 2, HA8000, 4 4., 2 8.,., ,. TRDBAKWY( PDORTRM ) GFLOPS, GFLOPS. HT(Hyper Transport)., 100., eigen_s (C-Stab [15]), 8192, 13

14 7: Strong Scaling on a T2K clutser system at Univ. of Tokyo Perform ance scalability of our eigensolver in w eak-scaling 1000 GFLOPS Tridiagonalization (ideal) Backtransform (ideal) : Weak Scaling on a T2K clutser system at Univ. of Tokyo 14

15 1.00E E E E E E E E E E E+00 PDSYTRD-16p-1t PDORM TR-p16-t E E E E E E E E E E E+00 PDSYTRD-p8-t2 PDORM TR-p8-t E E E E E E+01 PDSYTRD-4p-4t PDORM TR-4p-4t 0.00E PDSYTRD-2p-8t PDORM TR-2p-8t 9.00E E E E E E E E E E PDSYTRD-1p-16t PDORM TR-1p-16t 6.00E E E E E E E : eigen s 1. TRED1 TRBAKWY ( 1 16, 2 8, 4 4, 8 2, 16 1 ). PDSYTRD-16p-1t PDORM TR-p16-t1 9.00E E E E E E E E E E PDSYTRD-p8-t2 PDORM TR-p8-t2 9.00E E E E E E E E E E PDSYTRD-4p-4t PDORM TR-4p-4t 9.00E E E E E E E E E E PDSYTRD-2p-8t PDORM TR-2p-8t 7.00E E E E E E E E PDSYTRD-1p-16t PDORM TR-1p-16t 4.50E E E E E E E E E E : ScaLAPACK 1. PDSYTRD PDORMTR 15

16 ., ScaLAPACK. 10, PDSYTRD 1 16,. PDORMTR 2 8., ScaLAPACK BLAS., eigen_s, BLAS.,.,., ( ),.,. T2K. 4 TIPS(OpenMP ) eigen_s MPI OpenMP. MPI,,, OpenMP.,.. OpenMP, TIPS. 4.1 OpenMP OMP PARALLEL OMP END PARALLEL (OMP PAR- ALLEL ) ( ).,. OpenMP. 16

17 1., OMP PARALLEL DO. SUBROUTINE SUB(Z,V,SS) DO I=1,N S=SS(I)!$OMP PARALLEL DO DO J=1,K Z(J,I)=Z(J,I)+S*V(J) ENDDO!$OMP END PARALLEL DO ENDDO 2. OMP PARALLEL.,, PRIVATE. SUBROUTINE SUB(Z,V,SS)!$OMP PARALLEL PRIVATE(S,J) DO I=1,N S=SS(I)!$OMP DO DO J=1,K Z(J,I)=Z(J,I)+S*V(J) ENDDO!$OMP ENDDO ENDDO!$OMP END PARALLEL 3., SUB, OR- PHAN. SUB,. SAVE COMMON SHARED.,., SUB SHARED.,, SHARED.,, OMP DO,.!$OMP PARALLEL CALL SUB(Z,V,SS)!$OMP END PARALLEL 17

18 SUBROUTINE SUB(Z,V,SS) DO I=1,N!$OMP BARRIER S=SS(I)!$OMP DO DO J=1,K Z(J,I)=Z(J,I)+S*V(J) ENDDO!$OMP ENDDO ENDDO 4.2 OMP PARALLEL num_threads,., nested parallel,., 1, 5 1. CALL OMP_SET_NESTED(.TRUE.)!$OMP PARALLEL num_threads(2) IF(omp_get_thread_num()==0)THEN CALL SINGLE_THREAD_TASK() ELSE!$OMP PARALLEL num_threads(5) CALL FIVE_THREAD_TASK()!$OMP END PARALLEL ENDIF!$OMP END PARALLEL, numactl. 4.3,. OpenMP REDUCTION CRITICAL, ATOMIC,. eigen_s REDUCTION,., REDUCTION.. 18

19 PSI=ZERO!$OMP PARALLEL DO REDUCTION(+:PSI) DO I=1,N PSI=PSI+Z(J)**2 ENDDO!$OMP END PARALLEL DO, REDUCTION. SHARED TMP. PSI=ZERO!$ TMP(1)=PSI!$OMP PARALLEL PRIVATE(PSI)!$ PSI=0.0!$OMP MASTER!$ PSI=TMP(1)!$OMP END MASTER!$OMP DO DO I=1,N PSI=PSI+Z(J)**2 ENDDO!$OMP ENDDO!$ TMP(OMP_GET_THREAD_NUM()+1)=PSI!$OMP BARRIER!$OMP MASTER!$ PSI=0.0!$ DO I=1,OMP_GET_NUM_THREADS()!$ PSI=PSI+TMP(I)!$ ENDDO!$ TMP(1)=PSI!$OMP END MASTER!$OMP END PARALLEL!$ PSI=TMP(1) 5 T2K.,. T2K,.,., eigen_sx., 19

20 ..,,.,. [1] W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.O. Fkannery, Numerical Recipes: the Art of Scientific Computing, third edition, Cambridge University Press, [2] G.H. Golub, C.F.van Loan, Matrix Computations, third edition, the John Hopkins University Press, [3] J. Dongarra, S. Hammarling, and D. Sorensen, Block reduction of matrices to condensed forms for eigenvalue computation. J. Comput. Appl. Math. Vol , [4] HPC Challenge benchmark, [5] See Top500 benchmark or High Performance Linpack benchmark, or respectively. [6] J.J. Cuppen, A Divide-and-Conquer Method for the Symmetric Tridiagonal Eigenproblem, Numerische Mathematik 36, , [7] I.S. Dhillon, B.N. Parlett, and C. Vömel, The design and implementation of the MRRR algorithm, ACM Trans. Math. Softw., Vol.32, No.4, , [8] S. Tsujimoto, Y. Nakamura, and M. Iwasaki, Discrete Lotka-Volterra system computes singular values, Inverse Problems, Vol.17, 53 58, [9] C. Bischof, and C. van Loan, The WY representation for products of householder matrices, SIAM J. Sci. Stat. Comput. Vol.8, No.1, 2 13, [10] ScaLAPACK, [11],,, Vol.11, No.1, [12],,, Vol.14,

21 [13] S. Yamada, T. Imamura, T. Kano, and M. Machida, High-Performance Computing for Exact Numerical Approaches to Quantum Many-Body Problems on the Earth Simulator, ACM&IEEE Proceedings of SC 06, [14],,,,,, Vol.11, 2, [15],,,, Vol.45, No.SIG 6(ACS 6), ,

EigenExa Version 2.3c EigenExa

EigenExa Version 2.3c EigenExa EigenExa Version 2.3c EigenExa 2015 6 24 3 1 5 1.1 EigenExa............................... 5 1.2 /Copyright.................................. 6 2 7 2.1 EigenExa............... 7 2.2 EigenExa..................................

More information

CPU 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

CPU 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

2012年度HPCサマーセミナー_多田野.pptx

2012年度HPCサマーセミナー_多田野.pptx ! CCS HPC! I " tadano@cs.tsukuba.ac.jp" " 1 " " " " " " " 2 3 " " Ax = b" " " 4 Ax = b" A = a 11 a 12... a 1n a 21 a 22... a 2n...... a n1 a n2... a nn, x = x 1 x 2. x n, b = b 1 b 2. b n " " 5 Gauss LU

More information

数値計算ライブラリの使用方法 「実習編」

数値計算ライブラリの使用方法  「実習編」 数値計算ライブラリの使用方法 実習編 Kobe HPC Spring School 2019 今村俊幸理化学研究所計算科学研究センター Toshiyuki Imamura, RIKEN Center for Computational Science 2019/3/13~ 15 本日の講義 (2) 代表的な3ソフトウェアを使った演習 ScaLAPACK EigenExa PETSc ScaLAPACK

More information

橡固有値セミナー2_棚橋改.PDF

橡固有値セミナー2_棚橋改.PDF 1 II. 2003 5 14 2... Arnoldi. Lanczos. Jacobi-Davidson . 3 4 Ax = x A A Ax = Mx M: M 5 Householder ln ln-1 0 l3 0 l2 l1 6 Lanczos Lanczos, 1950 Arnoldi Arnoldi, 1951 Hessenberg Jacobi-Davidson Sleijpen

More information

A11 (1993,1994) 29 A12 (1994) 29 A13 Trefethen and Bau Numerical Linear Algebra (1997) 29 A14 (1999) 30 A15 (2003) 30 A16 (2004) 30 A17 (2007) 30 A18

A11 (1993,1994) 29 A12 (1994) 29 A13 Trefethen and Bau Numerical Linear Algebra (1997) 29 A14 (1999) 30 A15 (2003) 30 A16 (2004) 30 A17 (2007) 30 A18 2013 8 29y, 2016 10 29 1 2 2 Jordan 3 21 3 3 Jordan (1) 3 31 Jordan 4 32 Jordan 4 33 Jordan 6 34 Jordan 8 35 9 4 Jordan (2) 10 41 x 11 42 x 12 43 16 44 19 441 19 442 20 443 25 45 25 5 Jordan 26 A 26 A1

More information

年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium HPCS // v i R n λ i [], [], [], [] 3 BI [6] MRRR (Multiple Relatively Robust Representation

年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium HPCS // v i R n λ i [], [], [], [] 3 BI [6] MRRR (Multiple Relatively Robust Representation 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium HPCS //,,a),b),c) 3 - Multiple Relatively Robust Representation MRRR MRRR Reorthogonalized Bloc Inverse Iteration Algorithm for Parallel Computation of

More information

01_OpenMP_osx.indd

01_OpenMP_osx.indd OpenMP* / 1 1... 2 2... 3 3... 5 4... 7 5... 9 5.1... 9 5.2 OpenMP* API... 13 6... 17 7... 19 / 4 1 2 C/C++ OpenMP* 3 Fortran OpenMP* 4 PC 1 1 9.0 Linux* Windows* Xeon Itanium OS 1 2 2 WEB OS OS OS 1 OS

More information

untitled

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 }

More information

. a, b, c, d b a ± d bc ± ad = c ac b a d c = bd ac b a d c = bc ad n m nm [2][3] BASIC [4] B BASIC [5] BASIC Intel x * IEEE a e d

. a, b, c, d b a ± d bc ± ad = c ac b a d c = bd ac b a d c = bc ad n m nm [2][3] BASIC [4] B BASIC [5] BASIC Intel x * IEEE a e d 3 3 BASIC C++ 8 Tflop/s 8TB [] High precision symmetric eigenvalue computation through exact tridiagonalization by using rational number arithmetic Hikaru Samukawa Abstract: Since rational number arithmetic,

More information

untitled

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 }

More information

040312研究会HPC2500.ppt

040312研究会HPC2500.ppt 2004312 e-mail : m-aoki@jp.fujitsu.com 1 2 PRIMEPOWER VX/VPP300 VPP700 GP7000 AP3000 VPP5000 PRIMEPOWER 2000 PRIMEPOWER HPC2500 1998 1999 2000 2001 2002 2003 3 VPP5000 PRIMEPOWER ( 1 VU 9.6 GF 16GB 1 VU

More information

,.,. NP,., ,.,,.,.,,, (PCA)...,,. Tipping and Bishop (1999) PCA. (PPCA)., (Ilin and Raiko, 2010). PPCA EM., , tatsukaw

,.,. NP,., ,.,,.,.,,, (PCA)...,,. Tipping and Bishop (1999) PCA. (PPCA)., (Ilin and Raiko, 2010). PPCA EM., , tatsukaw ,.,. NP,.,. 1 1.1.,.,,.,.,,,. 2. 1.1.1 (PCA)...,,. Tipping and Bishop (1999) PCA. (PPCA)., (Ilin and Raiko, 2010). PPCA EM., 152-8552 2-12-1, tatsukawa.m.aa@m.titech.ac.jp, 190-8562 10-3, mirai@ism.ac.jp

More information

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶· Rhpc COM-ONE 2015 R 27 12 5 1 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 2 / 29 1 2 Rhpc 3 forign MPI 4 Windows 5 3 / 29 Rhpc, R HPC Rhpc, ( ), snow..., Rhpc worker call Rhpc lapply 4 / 29 1 2 Rhpc 3 forign

More information

120802_MPI.ppt

120802_MPI.ppt CPU CPU CPU CPU CPU SMP Symmetric MultiProcessing CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU CP OpenMP MPI MPI CPU CPU CPU CPU CPU CPU CPU CPU CPU CPU MPI MPI+OpenMP CPU CPU CPU CPU CPU CPU CPU CP

More information

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E >

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E > SX-ACE 並列プログラミング入門 (MPI) ( 演習補足資料 ) 大阪大学サイバーメディアセンター日本電気株式会社 演習問題の構成 ディレクトリ構成 MPI/ -- practice_1 演習問題 1 -- practice_2 演習問題 2 -- practice_3 演習問題 3 -- practice_4 演習問題 4 -- practice_5 演習問題 5 -- practice_6

More information

EigenExaユーザーズ・マニュアル

EigenExaユーザーズ・マニュアル ユーザズ マニュアル EigenExa version 1.0 2013 年 8 月 8 日改訂 2013 年 8 月 1 日初版 EigenExa チーム 1. はじめに EigenExa は高性能固有値ソルバである.EigenExa は EigenK ライブラリ [1] の後継として 開発され, ペタスケールコンピュータシステム同様に, 将来登場するであろうポストペタス ケール計算機システム (

More information

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£²¡Ë

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£²¡Ë 2013 5 30 (schedule) (omp sections) (omp single, omp master) (barrier, critical, atomic) program pi i m p l i c i t none integer, parameter : : SP = kind ( 1. 0 ) integer, parameter : : DP = selected real

More information

倍々精度RgemmのnVidia C2050上への実装と応用

倍々精度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 information

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë 2012 5 24 scalar Open MP Hello World Do (omp do) (omp workshare) (shared, private) π (reduction) PU PU PU 2 16 OpenMP FORTRAN/C/C++ MPI OpenMP 1997 FORTRAN Ver. 1.0 API 1998 C/C++ Ver. 1.0 API 2000 FORTRAN

More information

Microsoft PowerPoint - sps14_enshu2-2.pptx

Microsoft PowerPoint - sps14_enshu2-2.pptx Computer simulations create the future 固有値計算法 RIKEN AICS HPC Spring School 今村俊幸理化学研究所 AICS 2014/3/6 9:00~12:00 本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 +

More information

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë 2011 5 26 scalar Open MP Hello World Do (omp do) (omp workshare) (shared, private) π (reduction) scalar magny-cours, 48 scalar scalar 1 % scp. ssh / authorized keys 133. 30. 112. 246 2 48 % ssh 133.30.112.246

More information

OpenMPプログラミング

OpenMPプログラミング OpenMP 基礎 岩下武史 ( 学術情報メディアセンター ) 1 2013/9/13 並列処理とは 逐次処理 CPU1 並列処理 CPU1 CPU2 CPU3 CPU4 処理 1 処理 1 処理 2 処理 3 処理 4 処理 2 処理 3 処理 4 時間 2 2 種類の並列処理方法 プロセス並列 スレッド並列 並列プログラム 並列プログラム プロセス プロセス 0 プロセス 1 プロセス間通信 スレッド

More information

02_C-C++_osx.indd

02_C-C++_osx.indd C/C++ OpenMP* / 2 C/C++ OpenMP* OpenMP* 9.0 1... 2 2... 3 3OpenMP*... 5 3.1... 5 3.2 OpenMP*... 6 3.3 OpenMP*... 8 4OpenMP*... 9 4.1... 9 4.2 OpenMP*... 9 4.3 OpenMP*... 10 4.4... 10 5OpenMP*... 11 5.1

More information

MBLAS¤ÈMLAPACK; ¿ÇÜĹÀºÅÙÈǤÎBLAS/LAPACK¤ÎºîÀ®

MBLAS¤È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 information

XcalableMP入門

XcalableMP入門 XcalableMP 1 HPC-Phys@, 2018 8 22 XcalableMP XMP XMP Lattice QCD!2 XMP MPI MPI!3 XMP 1/2 PCXMP MPI Fortran CCoarray C++ MPIMPI XMP OpenMP http://xcalablemp.org!4 XMP 2/2 SPMD (Single Program Multiple Data)

More information

インテル(R) Visual Fortran Composer XE

インテル(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

2009 4

2009 4 2009 4 LU QR Cholesky A: n n A : A = IEEE 754 10 100 = : 1 / 36 A A κ(a) := A A 1. = κ(a) = Ax = b x := A 1 b Ay = b + b y := A 1 (b + b) x = y x x x κ(a) b b 2 / 36 IEEE 754 = 1 : u 1.11 10 16 = 10 16

More information

IDRstab(s, L) GBiCGSTAB(s, L) 2. AC-GBiCGSTAB(s, L) Ax = b (1) A R n n x R n b R n 2.1 IDR s L r k+1 r k+1 = b Ax k+1 IDR(s) r k+1 = (I ω k A)(r k dr

IDRstab(s, L) GBiCGSTAB(s, L) 2. AC-GBiCGSTAB(s, L) Ax = b (1) A R n n x R n b R n 2.1 IDR s L r k+1 r k+1 = b Ax k+1 IDR(s) r k+1 = (I ω k A)(r k dr 1 2 IDR(s) GBiCGSTAB(s, L) IDR(s) IDRstab(s, L) GBiCGSTAB(s, L) Verification of effectiveness of Auto-Correction technique applied to preconditioned iterative methods Keiichi Murakami 1 Seiji Fujino 2

More information

AMD/ATI Radeon HD 5870 GPU DEGIMA LINPACK HD 5870 GPU DEGIMA LINPACK GFlops/Watt GFlops/Watt Abstract GPU Computing has lately attracted

AMD/ATI Radeon HD 5870 GPU DEGIMA LINPACK HD 5870 GPU DEGIMA LINPACK GFlops/Watt GFlops/Watt Abstract GPU Computing has lately attracted DEGIMA LINPACK Energy Performance for LINPACK Benchmark on DEGIMA 1 AMD/ATI Radeon HD 5870 GPU DEGIMA LINPACK HD 5870 GPU DEGIMA LINPACK 1.4698 GFlops/Watt 1.9658 GFlops/Watt Abstract GPU Computing has

More information

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

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....................................

More information

Second-semi.PDF

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:

More information

格子QCD実践入門

格子QCD実践入門 -- nakamura at riise.hiroshima-u.ac.jp or nakamura at an-pan.org 2013.6.26-27 1. vs. 2. (1) 3. QCD QCD QCD 4. (2) 5. QCD 2 QCD 1981 QCD Parisi, Stamatescu, Hasenfratz, etc 2 3 (Cut-Off) = +Cut-Off a p

More information

Microsoft Word - qpeigen_manual_jp-1.0.doc

Microsoft Word - qpeigen_manual_jp-1.0.doc 4 倍精度固有値計算ライブラリ QPEigen Ver.1.0 ユーザーズマニュアル 2015 年 2 月独立行政法人日本原子力研究開発機構 目次 1 概説... 3 2 行列対角化について... 2 3 4 倍精度化アルゴリズムについて... 2 4 参考文献... 3 5 ディレクトリ構成... 3 6 必要なソフトウェア... 3 7 インストール方法... 4 8 検証用 性能評価用プログラム...

More information

ストリーミング SIMD 拡張命令2 (SSE2) を使用した SAXPY/DAXPY

ストリーミング 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 information

2 /83

2 /83 1 /83 2 /83 3 /83, 4 /83 ( ) myrank ), FX10, Blue Gene, Anton : MPI. : ( ). MPICH, OpenMPI ( ) MPI 1 MPI NIC memory CPU 0 (myrank=0) 5 nprocs=2 /83 NIC memory CPU 1 (myrank=1) 6 /83 hello_mpi.f: include

More information

OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a))

OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a)) OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a)) E-mail: {nanri,amano}@cc.kyushu-u.ac.jp 1 ( ) 1. VPP Fortran[6] HPF[3] VPP Fortran 2. MPI[5]

More information

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 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 information

コードのチューニング

コードのチューニング ハイブリッド並列 八木学 ( 理化学研究所計算科学研究機構 ) 謝辞 松本洋介氏 ( 千葉大学 ) KOBE HPC Spring School 2017 2017 年 3 月 14 日神戸大学計算科学教育センター MPI とは Message Passing Interface 分散メモリのプロセス間の通信規格(API) SPMD(Single Program Multi Data) が基本 -

More information

±é½¬£²¡§£Í£Ð£É½éÊâ

±é½¬£²¡§£Í£Ð£É½éÊâ 2012 8 7 1 / 52 MPI Hello World I ( ) Hello World II ( ) I ( ) II ( ) ( sendrecv) π ( ) MPI fortran C wget http://www.na.scitec.kobe-u.ac.jp/ yaguchi/riken2012/enshu2.zip unzip enshu2.zip 2 / 52 FORTRAN

More information

I I / 47

I I / 47 1 2013.07.18 1 I 2013 3 I 2013.07.18 1 / 47 A Flat MPI B 1 2 C: 2 I 2013.07.18 2 / 47 I 2013.07.18 3 / 47 #PJM -L "rscgrp=small" π-computer small: 12 large: 84 school: 24 84 16 = 1344 small school small

More information

main.dvi

main.dvi y () 5 C Fortran () Fortran 32bit 64bit 2 0 1 2 1 1bit bit 3 0 0 2 1 3 0 1 2 1 bit bit byte 8bit 1byte 3 0 10010011 2 1 3 0 01001011 2 1 byte Fortran A A 8byte double presicion y ( REAL*8) A 64bit 4byte

More information

QD 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 information

演習問題の構成 ディレクトリ構成 MPI/ --practice_1 演習問題 1 --practice_2 演習問題 2 --practice_3 演習問題 3 --practice_4 演習問題 4 --practice_5 演習問題 5 --practice_6 演習問題 6 --sample

演習問題の構成 ディレクトリ構成 MPI/ --practice_1 演習問題 1 --practice_2 演習問題 2 --practice_3 演習問題 3 --practice_4 演習問題 4 --practice_5 演習問題 5 --practice_6 演習問題 6 --sample H26 年度 MPI プログラミング入門 ( 演習補足資料 ) 2014 年 6 月 24 日 大阪大学サイバーメディアセンター 日本電気株式会社 演習問題の構成 ディレクトリ構成 MPI/ --practice_1 演習問題 1 --practice_2 演習問題 2 --practice_3 演習問題 3 --practice_4 演習問題 4 --practice_5 演習問題 5 --practice_6

More information

untitled

untitled 1 1 Ax = b A R m m A b R m x R m A shift-and invert Lanczos - LU CG A = LU LU Ly = b Ux = y A LU A A = LL T 1 LU b,, Vol. 11, No. 4, pp. 14 18 (2006). x * x (0), x (1), x (2), A Ap A # x (n+1) = Cx (n)

More information

numb.dvi

numb.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 information

演習準備

演習準備 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

Microsoft PowerPoint - KHPCSS pptx

Microsoft PowerPoint - KHPCSS pptx KOBE HPC サマースクール 2018( 初級 ) 9. 1 対 1 通信関数, 集団通信関数 2018/8/8 KOBE HPC サマースクール 2018 1 2018/8/8 KOBE HPC サマースクール 2018 2 MPI プログラム (M-2):1 対 1 通信関数 問題 1 から 100 までの整数の和を 2 並列で求めなさい. プログラムの方針 プロセス0: 1から50までの和を求める.

More information

Microsoft PowerPoint - 演習1:並列化と評価.pptx

Microsoft PowerPoint - 演習1:並列化と評価.pptx 講義 2& 演習 1 プログラム並列化と性能評価 神戸大学大学院システム情報学研究科横川三津夫 yokokawa@port.kobe-u.ac.jp 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 1 2014/3/5 RIKEN AICS HPC Spring School 2014: プログラム並列化と性能評価 2 2 次元温度分布の計算

More information

MPI usage

MPI usage MPI (Version 0.99 2006 11 8 ) 1 1 MPI ( Message Passing Interface ) 1 1.1 MPI................................. 1 1.2............................... 2 1.2.1 MPI GATHER.......................... 2 1.2.2

More information

C/C++ FORTRAN FORTRAN MPI MPI MPI UNIX Windows (SIMD Single Instruction Multipule Data) SMP(Symmetric Multi Processor) MPI (thread) OpenMP[5]

C/C++ FORTRAN FORTRAN MPI MPI MPI UNIX Windows (SIMD Single Instruction Multipule Data) SMP(Symmetric Multi Processor) MPI (thread) OpenMP[5] MPI ( ) snozawa@env.sci.ibaraki.ac.jp 1 ( ) MPI MPI Message Passing Interface[2] MPI MPICH[3],LAM/MPI[4] (MIMDMultiple Instruction Multipule Data) Message Passing ( ) (MPI (rank) PE(Processing Element)

More information

スライド 1

スライド 1 High Performance and Productivity 並列プログラミング課題と挑戦 HPC システムの利用の拡大の背景 シュミレーションへの要求 より複雑な問題をより精度良くシュミレーションすることが求められている HPC システムでの並列処理の要求の拡大 1. モデル アルゴリズム 解析対象は何れもより複雑で 規模の大きなものになっている 2. マイクロプロセッサのマルチコア化 3.

More information

1 n A a 11 a 1n A =.. a m1 a mn Ax = λx (1) x n λ (eigenvalue problem) x = 0 ( x 0 ) λ A ( ) λ Ax = λx x Ax = λx y T A = λy T x Ax = λx cx ( 1) 1.1 Th

1 n A a 11 a 1n A =.. a m1 a mn Ax = λx (1) x n λ (eigenvalue problem) x = 0 ( x 0 ) λ A ( ) λ Ax = λx x Ax = λx y T A = λy T x Ax = λx cx ( 1) 1.1 Th 1 n A a 11 a 1n A = a m1 a mn Ax = λx (1) x n λ (eigenvalue problem) x = ( x ) λ A ( ) λ Ax = λx x Ax = λx y T A = λy T x Ax = λx cx ( 1) 11 Th9-1 Ax = λx λe n A = λ a 11 a 12 a 1n a 21 λ a 22 a n1 a n2

More information

5.10講義.key

5.10講義.key 08 年 月 国立研究開発法人理化学研究所 計算科学研究センター 運用技術部門 チューニング技術ユニット ユニットリーダー 南 一生 miami_kaz@rike.jp RIKEN Ceter for Computatioal Sciece 0850 0850 0850 0850!5 0850 CPU CPU difficult High RSDFT Lattice QCD PHASE SeismD

More information

nakao

nakao Fortran+Python 4 Fortran, 2018 12 12 !2 Python!3 Python 2018 IEEE spectrum https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018!4 Python print("hello World!") if x == 10: print

More information

ÊÂÎó·×»»¤È¤Ï/OpenMP¤Î½éÊâ¡Ê£±¡Ë

ÊÂÎó·×»»¤È¤Ï/OpenMP¤Î½éÊâ¡Ê£±¡Ë 2015 5 21 OpenMP Hello World Do (omp do) Fortran (omp workshare) CPU Richardson s Forecast Factory 64,000 L.F. Richardson, Weather Prediction by Numerical Process, Cambridge, University Press (1922) Drawing

More information

コードのチューニング

コードのチューニング OpenMP による並列化実装 八木学 ( 理化学研究所計算科学研究センター ) KOBE HPC Spring School 2019 2019 年 3 月 14 日 スレッド並列とプロセス並列 スレッド並列 OpenMP 自動並列化 プロセス並列 MPI プロセス プロセス プロセス スレッドスレッドスレッドスレッド メモリ メモリ プロセス間通信 Private Private Private

More information

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5

演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 RIKEN AICS HPC Spring School /3/5 演習準備 2014 年 3 月 5 日神戸大学大学院システム情報学研究科森下浩二 1 演習準備の内容 神戸大 FX10(π-Computer) 利用準備 システム概要 ログイン方法 コンパイルとジョブ実行方法 MPI 復習 1. MPIプログラムの基本構成 2. 並列実行 3. 1 対 1 通信 集団通信 4. データ 処理分割 5. 計算時間計測 2 神戸大 FX10(π-Computer) 利用準備

More information

2. OpenMP OpenMP OpenMP OpenMP #pragma#pragma omp #pragma omp parallel #pragma omp single #pragma omp master #pragma omp for #pragma omp critica

2. OpenMP OpenMP OpenMP OpenMP #pragma#pragma omp #pragma omp parallel #pragma omp single #pragma omp master #pragma omp for #pragma omp critica C OpenMP 1. OpenMP OpenMP Architecture Review BoardARB OpenMP OpenMP OpenMP OpenMP OpenMP Version 2.0 Version 2.0 OpenMP Fortran C/C++ C C++ 1997 10 OpenMP Fortran API 1.0 1998 10 OpenMP C/C++ API 1.0

More information

untitled

untitled I 9 MPI (II) 2012 6 14 .. MPI. 1-3 sum100.f90 4 istart=myrank*25+1 iend=(myrank+1)*25 0 1 2 3 mpi_recv 3 isum1 1 isum /tmp/120614/sum100_4.f90 program sum100_4 use mpi implicit none integer :: i,istart,iend,isum,isum1,ip

More information

4th XcalableMP workshop 目的 n XcalableMPのローカルビューモデルであるXMPのCoarray機能を用 いて Fiberミニアプリ集への実装と評価を行う PGAS(Pertitioned Global Address Space)言語であるCoarrayのベ ンチマ

4th XcalableMP workshop 目的 n XcalableMPのローカルビューモデルであるXMPのCoarray機能を用 いて Fiberミニアプリ集への実装と評価を行う PGAS(Pertitioned Global Address Space)言語であるCoarrayのベ ンチマ 4th XcalableMP workshop 目的 n XcalableMPのローカルビューモデルであるXMPのCoarray機能を用 いて Fiberミニアプリ集への実装と評価を行う PGAS(Pertitioned Global Address Space)言語であるCoarrayのベ ンチマークとして整備することも考慮している n Coarrayによる並列化に関する知見を得る 1 n n l

More information

Untitled

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,

More information

Microsoft PowerPoint - 03_What is OpenMP 4.0 other_Jan18

Microsoft PowerPoint - 03_What is OpenMP 4.0 other_Jan18 OpenMP* 4.x における拡張 OpenMP 4.0 と 4.5 の機能拡張 内容 OpenMP* 3.1 から 4.0 への拡張 OpenMP* 4.0 から 4.5 への拡張 2 追加された機能 (3.1 -> 4.0) C/C++ 配列シンタックスの拡張 SIMD と SIMD 対応関数 デバイスオフロード task 構 の依存性 taskgroup 構 cancel 句と cancellation

More information

Sae x Sae x 1: 1. {x (i) 0 0 }N i=1 (x (i) 0 0 p(x 0) ) 2. = 1,, T a d (a) i (i = 1,, N) I, II I. v (i) II. x (i) 1 = f (x (i) 1 1, v(i) (b) i (i = 1,

Sae x Sae x 1: 1. {x (i) 0 0 }N i=1 (x (i) 0 0 p(x 0) ) 2. = 1,, T a d (a) i (i = 1,, N) I, II I. v (i) II. x (i) 1 = f (x (i) 1 1, v(i) (b) i (i = 1, ( ) 1 : ( ) Sampling/Imporance resampling (SIR) Kiagawa (1993, 1996), Gordon(1993) EnKF EnKF EnKF 1CPU 1core 2 x = f (x 1, v ) y = h (x, w ) (1a) (1b) PF p(x y 1 ) {x (i) 1 }N i=1, p(x y ) {x (i) }N i=1

More information

(Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1

(Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1 (Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1 17 Fortran Formular Tranlator Lapack Fortran FORTRAN, FORTRAN66, FORTRAN77, FORTRAN90, FORTRAN95 17.1 A Z ( ) 0 9, _, =, +, -, *,

More information

THE PARALLEL Issue UNIVERSE James Reinders Parallel Building Blocks: David Sekowski Parallel Studio XE Cluster Studio Sanjay Goil John McHug

THE PARALLEL Issue UNIVERSE James Reinders Parallel Building Blocks: David Sekowski Parallel Studio XE Cluster Studio Sanjay Goil John McHug THE PARALLEL Issue 5 2010 11 UNIVERSE James Reinders Parallel Building Blocks: David Sekowski Parallel Studio XE Cluster Studio Sanjay Goil John McHugh JAMES REINDERS 3 Parallel Studio XE Cluster Studio

More information

Krylov A04 October 8, 2010 T. Sakurai (Univ. Tsukuba) Krylov October 8, / 48

Krylov A04 October 8, 2010 T. Sakurai (Univ. Tsukuba) Krylov October 8, / 48 Krylov A04 October 8, 2010 T. Sakurai (Univ. Tsukuba) Krylov October 8, 2010 1 / 48 Krylov QCD, RSDFT, Shell model Block Krylov MATLAB Scilab T. Sakurai (Univ. Tsukuba) Krylov October 8, 2010 2 / 48 Krylov

More information

自動残差修正機能付き GBiCGSTAB$(s,L)$法 (科学技術計算アルゴリズムの数理的基盤と展開)

自動残差修正機能付き GBiCGSTAB$(s,L)$法 (科学技術計算アルゴリズムの数理的基盤と展開) 1733 2011 149-159 149 GBiCGSTAB $(s,l)$ GBiCGSTAB(s,L) with Auto-Correction of Residuals (Takeshi TSUKADA) NS Solutions Corporation (Kouki FUKAHORI) Graduate School of Information Science and Technology

More information

インテル(R) Visual Fortran Composer XE 2013 Windows版 入門ガイド

インテル(R) Visual Fortran Composer XE 2013 Windows版 入門ガイド Visual Fortran Composer XE 2013 Windows* エクセルソフト株式会社 www.xlsoft.com Rev. 1.1 (2012/12/10) Copyright 1998-2013 XLsoft Corporation. All Rights Reserved. 1 / 53 ... 3... 4... 4... 5 Visual Studio... 9...

More information

Microsoft PowerPoint - sales2.ppt

Microsoft PowerPoint - sales2.ppt 最適化とは何? CPU アーキテクチャに沿った形で最適な性能を抽出できるようにする技法 ( 性能向上技法 ) コンパイラによるプログラム最適化 コンパイラメーカの技量 経験量に依存 最適化ツールによるプログラム最適化 KAP (Kuck & Associates, Inc. ) 人によるプログラム最適化 アーキテクチャのボトルネックを知ること 3 使用コンパイラによる性能の違い MFLOPS 90

More information

001.dvi

001.dvi THE SCIENCE AND ENGINEERING DOSHISHA UNIVERSITY, VOL.XX, NO.Y NOVEMBER 2003 Construction of Tera Flops PC Cluster System and evaluation of performance using Benchmark Tomoyuki HIROYASU * Mitsunori MIKI

More information

11020070-0_Vol16No2.indd

11020070-0_Vol16No2.indd 2552 チュートリアル BLAS, LAPACK 2 1 BLAS, LAPACKチュートリアル パート1 ( 簡 単 な 使 い 方 とプログラミング) 中 田 真 秀 1 読 者 の 想 定 BLAS [1], LAPACK [2] 2 線 形 代 数 の 重 要 性 について Google Page Rank 3D CPU 筆 者 紹 介 BLAS LAPACK http://accc.riken.jp/maho/

More information

課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター

課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター 課題 S1 解説 Fortran 編 中島研吾 東京大学情報基盤センター 内容 課題 S1 /a1.0~a1.3, /a2.0~a2.3 から局所ベクトル情報を読み込み, 全体ベクトルのノルム ( x ) を求めるプログラムを作成する (S1-1) file.f,file2.f をそれぞれ参考にする 下記の数値積分の結果を台形公式によって求めるプログラムを作成する

More information

(2018 2Q C) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = ( ) a c b d (a c, b d) P = (a, b) O P ( ) a p = b P = (a, b) p = ( ) a b R 2 {( ) } R 2 x = x, y

(2018 2Q C) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = ( ) a c b d (a c, b d) P = (a, b) O P ( ) a p = b P = (a, b) p = ( ) a b R 2 {( ) } R 2 x = x, y (2018 2Q C) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = a c b d (a c, b d) P = (a, b) O P a p = b P = (a, b) p = a b R 2 { } R 2 x = x, y R y 2 a p =, c q = b d p + a + c q = b + d q p P q a p = c R c b

More information

2

2 ( ) 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 information

13 0 1 1 4 11 4 12 5 13 6 2 10 21 10 22 14 3 20 31 20 32 25 33 28 4 31 41 32 42 34 43 38 5 41 51 41 52 43 53 54 6 57 61 57 62 60 70 0 Gauss a, b, c x, y f(x, y) = ax 2 + bxy + cy 2 = x y a b/2 b/2 c x

More information

線形代数演算ライブラリBLASとLAPACKの 基礎と実践1

線形代数演算ライブラリ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

2016 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1 16 2 1 () X O 3 (O1) X O, O (O2) O O (O3) O O O X (X, O) O X X (O1), (O2), (O3) (O2) (O3) n (O2) U 1,..., U n O U k O k=1 (O3) U λ O( λ Λ) λ Λ U λ O 0 X 0 (O2) n =

More information

KBLAS[7] *1., CUBLAS.,,, Byte/flop., [13] 1 2. (AT). GPU AT,, GPU SYMV., SYMV CUDABLAS., (double, float) (cu- FloatComplex, cudoublecomplex).,, DD(dou

KBLAS[7] *1., CUBLAS.,,, Byte/flop., [13] 1 2. (AT). GPU AT,, GPU SYMV., SYMV CUDABLAS., (double, float) (cu- FloatComplex, cudoublecomplex).,, DD(dou Vol.214-HPC-146 No.14 214/1/3 CUDA-xSYMV 1,3,a) 1 2,3 2,3 (SYMV)., (GEMV) 2.,, mutex., CUBLAS., 1 2,. (AT). 2, SYMV GPU., SSYMV( SYMV), GeForce GTXTitan Black 211GFLOPS( 62.8%)., ( ) (, ) DD(double-double),

More information

1 u t = au (finite difference) u t = au Von Neumann

1 u t = au (finite difference) u t = au Von Neumann 1 u t = au 3 1.1 (finite difference)............................. 3 1.2 u t = au.................................. 3 1.3 Von Neumann............... 5 1.4 Von Neumann............... 6 1.5............................

More information

Gauss

Gauss 15 1 LU LDL T 6 : 1g00p013-5 1 6 1.1....................................... 7 1.2.................................. 8 1.3.................................. 8 2 Gauss 9 2.1.....................................

More information

Microsoft PowerPoint - OpenMP入門.pptx

Microsoft PowerPoint - OpenMP入門.pptx OpenMP 入門 須田礼仁 2009/10/30 初版 OpenMP 共有メモリ並列処理の標準化 API http://openmp.org/ 最新版は 30 3.0 バージョンによる違いはあまり大きくない サポートしているバージョンはともかく csp で動きます gcc も対応しています やっぱり SPMD Single Program Multiple Data プログラム #pragma omp

More information

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h 23 FPGA CUDA Performance Comparison of FPGA Array with CUDA on Poisson Equation (lijiang@sekine-lab.ei.tuat.ac.jp), (kazuki@sekine-lab.ei.tuat.ac.jp), (takahashi@sekine-lab.ei.tuat.ac.jp), (tamukoh@cc.tuat.ac.jp),

More information

カーネルベンチマークコード 開発の目的 エクサスケール規模のシミュレーションの核となる数値計算アルゴリズムの中で 特に重要なものについて 数値計算ライブラリ等を用いてそのコストを推定するためにカーネルベンチマークを作成し 評価に使用する 対象計算アルゴリズム 固有値計算 ( 実数密行列 標準固有値計

カーネルベンチマークコード 開発の目的 エクサスケール規模のシミュレーションの核となる数値計算アルゴリズムの中で 特に重要なものについて 数値計算ライブラリ等を用いてそのコストを推定するためにカーネルベンチマークを作成し 評価に使用する 対象計算アルゴリズム 固有値計算 ( 実数密行列 標準固有値計 カーネルベンチマークコードの開発について EigenExa について EigenExa ベンチマークコードについてベンチマーク結果に基づく性能推定について 2/24/2014 理化学研究所三上和徳 1 カーネルベンチマークコード 開発の目的 エクサスケール規模のシミュレーションの核となる数値計算アルゴリズムの中で 特に重要なものについて 数値計算ライブラリ等を用いてそのコストを推定するためにカーネルベンチマークを作成し

More information

LINEAR ALGEBRA I Hiroshi SUZUKI Department of Mathematics International Christian University

LINEAR ALGEBRA I Hiroshi SUZUKI Department of Mathematics International Christian University LINEAR ALGEBRA I Hiroshi SUZUKI Department of Mathematics International Christian University 2002 2 2 2 2 22 2 3 3 3 3 3 4 4 5 5 6 6 7 7 8 8 9 Cramer 9 0 0 E-mail:hsuzuki@icuacjp 0 3x + y + 2z 4 x + y

More information

1 Leverrie Faddeev 1.1 2007 John Randell NJ Rutgers Univ. (characteristic equation) AX = λx λ : A X : λ (A λi n )X = 0 f (λ) = A λi n = 0 a 11 a 12 a

1 Leverrie Faddeev 1.1 2007 John Randell NJ Rutgers Univ. (characteristic equation) AX = λx λ : A X : λ (A λi n )X = 0 f (λ) = A λi n = 0 a 11 a 12 a Masato Shimura JCD02773@nifty.ne.jp 20 1 24 1 Leverrie Faddeev 2 1.1.......................... 2 1.2 LF....................... 3 1.2.1........................... 3 1.2.2.................. 6 1.3................................

More information

. (.8.). t + t m ü(t + t) + c u(t + t) + k u(t + t) = f(t + t) () m ü f. () c u k u t + t u Taylor t 3 u(t + t) = u(t) + t! u(t) + ( t)! = u(t) + t u(

. (.8.). t + t m ü(t + t) + c u(t + t) + k u(t + t) = f(t + t) () m ü f. () c u k u t + t u Taylor t 3 u(t + t) = u(t) + t! u(t) + ( t)! = u(t) + t u( 3 8. (.8.)............................................................................................3.............................................4 Nermark β..........................................

More information

Vol.214-HPC-145 No /7/3 C #pragma acc directive-name [clause [[,] clause] ] new-line structured block Fortran!$acc directive-name [clause [[,] c

Vol.214-HPC-145 No /7/3 C #pragma acc directive-name [clause [[,] clause] ] new-line structured block Fortran!$acc directive-name [clause [[,] c Vol.214-HPC-145 No.45 214/7/3 OpenACC 1 3,1,2 1,2 GPU CUDA OpenCL OpenACC OpenACC High-level OpenACC CPU Intex Xeon Phi K2X GPU Intel Xeon Phi 27% K2X GPU 24% 1. TSUBAME2.5 CPU GPU CUDA OpenCL CPU OpenMP

More information

09中西

09中西 PC NEC Linux (1) (2) (1) (2) 1 Linux Linux 2002.11.22) LLNL Linux Intel Xeon 2300 ASCIWhite1/7 / HPC (IDC) 2002 800 2005 2004 HPC 80%Linux) Linux ASCI Purple (ASCI 100TFlops Blue Gene/L 1PFlops (2005)

More information

次世代スーパーコンピュータのシステム構成案について

次世代スーパーコンピュータのシステム構成案について 6 19 4 27 1. 2. 3. 3.1 3.2 A 3.3 B 4. 5. 2007/4/27 4 1 1. 2007/4/27 4 2 NEC NHF2 18 9 19 19 2 28 10PFLOPS2.5PB 30MW 3,200 18 12 12 SimFold, GAMESS, Modylas, RSDFT, NICAM, LatticeQCD, LANS HPL, NPB-FT 19

More information

線形代数演算ライブラリBLASとLAPACKの 基礎と実践1

線形代数演算ライブラリ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

http://na-inet.jp/ 4 @ 2015 1 19 ( ) MPFR/GMP BNCpack (cf., Vol, 21, pp.197-206, 2011) Runge-Kutta (cf. arxiv preprint arxiv:1306.2392, Vol.19, No.3, pp.313-328, 2009) Strassen (cf. JSIAM Letters, Vol.6,

More information

(2016 2Q H) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = ( ) a c b d (a c, b d) P = (a, b) O P ( ) a p = b P = (a, b) p = ( ) a b R 2 {( ) } R 2 x = x, y

(2016 2Q H) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = ( ) a c b d (a c, b d) P = (a, b) O P ( ) a p = b P = (a, b) p = ( ) a b R 2 {( ) } R 2 x = x, y (2016 2Q H) [ ] R 2 2 P = (a, b), Q = (c, d) Q P QP = a c b d (a c, b d) P = (a, b) O P a p = b P = (a, b) p = a b R 2 { } R 2 x = x, y R y 2 a p =, c q = b d p + a + c q = b + d q p P q a p = c R c b

More information

プラズマ核融合学会誌5月号【81-5】/内外情報_ソフト【注:欧フォント特殊!】

プラズマ核融合学会誌5月号【81-5】/内外情報_ソフト【注:欧フォント特殊!】 PROGRAM PLOTDATA USE NUM_KINDS, ONLY : wp=>dp, i4b USE MYLIB, ONLY : GET_SIZE, GET_DATA INTEGER(i4b) :: ntime, nx REAL(wp), ALLOCATABLE :: time(:), x(:), Temp(:,:) Fortran Temp, temp, TEMP temporal REAL(wp)

More information

untitled

untitled RIKEN AICS Summer School 3 4 MPI 2012 8 8 1 6 MPI MPI 2 allocatable 2 Fox mpi_sendrecv 3 3 FFT mpi_alltoall MPI_PROC_NULL 4 FX10 /home/guest/guest07/school/ 5 1 A (i, j) i+j x i i y = Ax A x y y 1 y i

More information

Microsoft PowerPoint - 演習2:MPI初歩.pptx

Microsoft PowerPoint - 演習2:MPI初歩.pptx 演習 2:MPI 初歩 - 並列に計算する - 2013 年 8 月 6 日 神戸大学大学院システム情報学研究科計算科学専攻横川三津夫 MPI( メッセージ パッシング インターフェース ) を使おう! [ 演習 2 の内容 ] はじめの一歩課題 1: Hello, world を並列に出力する. 課題 2: プロセス 0 からのメッセージを受け取る (1 対 1 通信 ). 部分に分けて計算しよう課題

More information

Krylov (b) x k+1 := x k + α k p k (c) r k+1 := r k α k Ap k ( := b Ax k+1 ) (d) β k := r k r k 2 2 (e) : r k 2 / r 0 2 < ε R (f) p k+1 :=

Krylov (b) x k+1 := x k + α k p k (c) r k+1 := r k α k Ap k ( := b Ax k+1 ) (d) β k := r k r k 2 2 (e) : r k 2 / r 0 2 < ε R (f) p k+1 := 127 10 Krylov Krylov (Conjugate-Gradient (CG ), Krylov ) MPIBNCpack 10.1 CG (Conjugate-Gradient CG ) A R n n a 11 a 12 a 1n a 21 a 22 a 2n A T = =... a n1 a n2 a nn n a 11 a 21 a n1 a 12 a 22 a n2 = A...

More information

Intel® Compilers Professional Editions

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()

More information

: : : : ) ) 1. d ij f i e i x i v j m a ij m f ij n x i =

: : : : ) ) 1. d ij f i e i x i v j m a ij m f ij n x i = 1 1980 1) 1 2 3 19721960 1965 2) 1999 1 69 1980 1972: 55 1999: 179 2041999: 210 211 1999: 211 3 2003 1987 92 97 3) 1960 1965 1970 1985 1990 1995 4) 1. d ij f i e i x i v j m a ij m f ij n x i = n d ij

More information

¹âÀºÅÙÀþ·ÁÂå¿ô±é»»¥é¥¤¥Ö¥é¥êMPACK¤Î³«È¯

¹âÀºÅÙÀþ·ÁÂå¿ô±é»»¥é¥¤¥Ö¥é¥ê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