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

Similar documents
untitled

untitled

インテル(R) Visual Fortran Composer XE

FFTSS Library Version 3.0 User's Guide

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

Itanium2ベンチマーク

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

Second-semi.PDF

,4) 1 P% P%P=2.5 5%!%! (1) = (2) l l Figure 1 A compilation flow of the proposing sampling based architecture simulation

1重谷.PDF

main.dvi

main.dvi

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

数値計算:フーリエ変換

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

Microsoft PowerPoint - sales2.ppt

フカシギおねえさん問題の高速計算アルゴリズム

untitled

SQUFOF NTT Shanks SQUFOF SQUFOF Pentium III Pentium 4 SQUFOF 2.03 (Pentium 4 2.0GHz Willamette) N UBASIC 50 / 200 [

EGunGPU

ストリーミング SIMD 拡張命令2 (SSE2) を使用した、倍精度浮動小数点ベクトルの最大/最小要素とそのインデックスの検出

16soukatsu_p1_40.ai

01_OpenMP_osx.indd

DO 時間積分 START 反変速度の計算 contravariant_velocity 移流項の計算 advection_adams_bashforth_2nd DO implicit loop( 陰解法 ) 速度勾配, 温度勾配の計算 gradient_cell_center_surface 速

<B54CB5684E31A4E9C0CBA4E5AA6BC160BEE3B27AA544A5552E706466>

develop

untitled

2

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

mate10„”„õŒì4

., White-Box, White-Box. White-Box.,, White-Box., Maple [11], 2. 1, QE, QE, 1 Redlog [7], QEPCAD [9], SyNRAC [8] 3 QE., 2 Brown White-Box. 3 White-Box

卒業論文

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

XcalableMP入門

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

単位、情報量、デジタルデータ、CPUと高速化 ~ICT用語集~


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

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

スパコンに通じる並列プログラミングの基礎

RaVioli SIMD

VXPRO R1400® ご提案資料

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

IPSJ SIG Technical Report Vol.2013-ARC-206 No /8/1 Android Dominic Hillenbrand ODROID-X2 GPIO Android OSCAR WFI 500[us] GPIO GP

CCS HPCサマーセミナー 並列数値計算アルゴリズム

スパコンに通じる並列プログラミングの基礎

橡3_2石川.PDF

スパコンに通じる並列プログラミングの基礎

Untitled

( ) 1

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

56 OS OS OS OS 1 OS HDD OS 1 OS HDD HDD OS OS OSOS HDD 図 1 二重キャッシュ環境 3. 負の参照の時間的局所性 3.1 参照の局所性 Locality of Reference Temporal locality Spatial localit

untitled

Intel Memory Protection Extensions(Intel MPX) x86, x CPU skylake 2015 Intel Software Development Emulator 本資料に登場する Intel は Intel Corp. の登録

DPD Software Development Products Overview

The 3 key challenges in programming for MC

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


(Basic Theory of Information Processing) 1

nakao

ARTED Xeon Phi Xeon Phi 2. ARTED ARTED (Ab-initio Real-Time Electron Dynamics simulator) RTRS- DFT (Real-Time Real-Space Density Functional Theory, )

GPGPU

PRIMERGY 性能情報 SPECint2006 / SPECfp2006 測定結果一覧

07-二村幸孝・出口大輔.indd

Source: Intel.Config: Pentium III Processor-Intel Seattle SE440BX-2, 128MB PC100 CL2 SDRAM Intel 440BX-2 Chipset Platform- Diamond Viper 550 /

Contents Windows* /Linux* C++/Fortran... 3 Microsoft* embedded Visual C++* C Microsoft* Windows* CE.NET Platform Builder C IP

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司

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

スライド 1

16.16%

ohp1.dvi

名称未設定-1

1 Fourier Fourier Fourier Fourier Fourier Fourier Fourier Fourier Fourier analog digital Fourier Fourier Fourier Fourier Fourier Fourier Green Fourier

Pentium 4

PRIMERGY 性能情報 SPECint2006 / SPECfp2006 測定結果一覧

ProLiant ML110 Generation 4 システム構成図

smpp_resume.dvi

Run-Based Trieから構成される 決定木の枝刈り法

先進的計算基盤システムシンポジウム SACSIS2012 Symposium on Advanced Computing Systems and Infrastructures SACSIS /5/18 CPU, CPU., Memory-bound CPU,., Memory-bo

[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

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

テストコスト抑制のための技術課題-DFTとATEの観点から

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

並列計算の数理とアルゴリズム サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

Intel® Compilers Professional Editions

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

インテル(R) C++ Composer XE 2011 Windows版 入門ガイド

HP Compaq Business Desktop dx7300シリーズ

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

120802_MPI.ppt

HPC (pay-as-you-go) HPC Web 2

SonicStage Ver. 2.0

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

tutorial_lc.dvi

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

main.dvi


Microsoft PowerPoint - stream.ppt [互換モード]

1 (bit ) ( ) PC WS CPU IEEE754 standard ( 24bit) ( 53bit)

ProLiant BL20p Generation 4 システム構成図

Transcription:

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 O(n 2 ) FFT O(n log n) n DFT FFT [4, 16] FFT Cooley-Tukey [6] Stockham [5, 13] スーパーコンピューティングニュース - 123 -

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 FFT [16, 4] FFT FFT radix p p 1 Y (k) = X(j)Ω j ωp jk (2) j=0 Ω twiddle factor [4] 1 p FFT X(j) Ω j p DFT[10] (2) [12, 15] 3 3.1 memory hierarchy 1 locality スーパーコンピューティングニュース - 124 -

CPU L1 Cache L2 Cache Main Memory 2: RISC RISC 3.2 1 L1 Cache 1 1 2 L2 Cache 3 スーパーコンピューティングニュース - 125 -

C SUBROUTINE ZAXPY(N,A,X,Y) IMPLICIT REAL*8 (A-H,O-Z) COMPLEX*16 A,X(*),Y(*) DO I=1,N Y(I)=Y(I)+A*X(I) END DO RETURN END 3: ZAXPY 1 2 3.3 ZAXPY FFT FFT ZAXPY A X plus Y 4 Intel Xeon 3.06 GHz FSB 533 MHz 512 KB L2 cache PC2100 DDR- SDRAM Intel C Compiler 8.0 Intel Pentium4 SIMD Single Instruction Multiple Data SSE2 [8] x87 Intel MKL Math Kernel Library Version 6.1.1 [9] BLAS Basic Linear Algebra Subprograms ZAXPY 3 1 iteration 4 load 4 store 2 4 L2 N 8192 SSE2 with SSE2 3 GFLOPS Xeon 3.06 GHz 6.12 GFLOPS L2 x87 4 Six-Step FFT six-step FFT [3, 16] six-step FFT FFT スーパーコンピューティングニュース - 126 -

スーパーコンピューティングニュース - 127 -

スーパーコンピューティングニュース - 128 -

1 COMPLEX*16 X(N1,N2),Y(N2,N1),U(N2,N1) 2 DO I=1,N1 3 DO J=1,N2 4 Y(J,I)=X(I,J) 5 END DO 6 END DO 7 DO I=1,N1 8 CALL IN CACHE FFT(Y(1,I),N2) 9 END DO 10 DO I=1,N1 11 DO J=1,N2 12 Y(J,I)=Y(J,I)*U(J,I) 13 END DO 14 END DO 15 DO J=1,N2 16 DO I=1,N1 17 X(I,J)=Y(J,I) 18 END DO 19 END DO 20 DO J=1,N2 21 CALL IN CACHE FFT(X(1,J),N1) 22 END DO 23 DO I=1,N1 24 DO J=1,N2 25 Y(J,I)=X(I,J) 26 END DO 27 END DO 5: six-step FFT 6 six-step FFT 7 6 NB NP WORK 7 X WORK Y 1 16 WORK WORK X WORK multicolumn FFT six-step FFT two-pass [3, 16] six-step FFT n FFT O(n log n) O(n) Step 2 Step 4 column FFT L1 n column FFT L1 [1, 2] column FFT L1 column FFT two-pass three-pass FFT six-step FFT スーパーコンピューティングニュース - 129 -

1 COMPLEX*16 X(N1,N2),Y(N2,N1),U(N1,N2) 2 COMPLEX*16 WORK(N2+NP,NB) 3 DO II=1,N1,NB 4 DO JJ=1,N2,NB 5 DO I=II,II+NB-1 6 DO J=JJ,JJ+NB-1 7 WORK(J,I-II+1)=X(I,J) 8 END DO 9 END DO 10 END DO 11 DO I=1,NB 12 CALL IN CACHE FFT(WORK(1,I),N2) 13 END DO 14 DO J=1,N2 15 DO I=II,II+NB-1 16 X(I,J)=WORK(J,I-II+1)*U(I,J) 17 END DO 18 END DO 19 END DO 20 DO JJ=1,N2,NB 21 DO J=JJ,JJ+NB-1 22 CALL IN CACHE FFT(X(1,J),N1) 23 END DO 24 DO I=1,N1 25 DO J=JJ,JJ+NB-1 26 Y(J,I)=X(I,J) 27 END DO 28 END DO 29 END DO 6: six-step FFT out-of-place Stockham [5, 13] Step 2 4 multicolumn FFT O( n) FFT Step 5 6 24 28 O( n) WORK 6 In-Cache FFT multicolumn FFT column FFT in-cache FFT Stockham [5, 13] Stockham Cooley-Tukey [6] Cooley-Tukey 2 [6] 2 Stockham n = 2lm l m 2 l n/2 スーパーコンピューティングニュース - 130 -

1. Partial transpose NB 2. NB individual N2-point FFTs NB NB N2 1 2 3 4 N1 1 2 3 4 5 6 7 8 9 10 11 12 Array X 13 14 15 16 N2 5 6 7 8 9 101112 Array WORK N2 13141516 padding NP 3. Partial transpose N2 NB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 N1 Array WORK N2 1 2 3 4 5 6 7 8 9 10111213141516 Array X NB 4. NB individual N1-point FFTs N1 NB N2 Array X 7: six-step FFT 2 m 1 2 X Y X Y Y X ω p = e 2πi/p c 0 = X(k + jm) c 1 = X(k + jm + lm) Y (k + 2jm) = c 0 + c 1 Y (k + 2jm + m) = ω j 2l (c 0 c 1 ) 0 j < l 0 k < m 2 FFT 2 FFT 4 8 FFT 2 FFT [14] n = 2 p (p 2) FFT n = 4 q 8 r (0 q 2, r 0) 4 8 FFT n 4 2 FFT six-step FFT multicolumn FFT [3, 16] 5 six-step FFT 2 7 10 15 20 23 DO OpenMP[11]!$OMP DO スーパーコンピューティングニュース - 131 -

1: Intel Xeon 5150 2.66 GHz FFTE 4.0 SSE3 n 1 CPU, 1 core 1 CPU, 2 cores 2 CPUs, 4 cores Time MFLOPS Time MFLOPS Time MFLOPS 2 12 0.00006 4128.46 0.00006 4128.80 0.00006 4141.40 2 13 0.00014 3912.61 0.00014 3900.81 0.00014 3925.46 2 14 0.00028 4030.83 0.00029 4020.14 0.00028 4036.37 2 15 0.00060 4121.60 0.00060 4113.43 0.00060 4106.24 2 16 0.00143 3676.79 0.00141 3713.05 0.00141 3717.98 2 17 0.00500 2228.17 0.00380 2931.55 0.00226 4921.67 2 18 0.01340 1761.12 0.00747 3159.97 0.00472 4995.93 2 19 0.02989 1666.54 0.01678 2968.24 0.01341 3715.39 2 20 0.06675 1570.84 0.03735 2807.18 0.03003 3491.69 6 six-step FFT 3 20 DO WORK MPI FFT 7 Six-Step FFT six-step FFT FFT FFTE version 4.0 1 FFT FFTW version 3.1.2 2 [7] n = 2 m m FFT 10 FFT Intel Xeon 5150 2.66 GHz 4 GB DDR2- SDRAM 32 KB L1 instruction cache 32 KB L1 data cache 4 MB L2 Cache Linux 2.6.18-1.2798.fc6 Intel Fortran version 9.1 Intel C version 9.1 -O3 -xp -openmp 1 FFTE version 4.0 FFTW version 3.1.2 1 six-step FFT FFTE 2CPUs 4cores n FFTW 8 FFT 1 http://www.ffte.jp 2 http://www.fftw.org スーパーコンピューティングニュース - 132 -

スーパーコンピューティングニュース - 133 -

[8] Intel Corporation. IA-32 Intel Architecture Software Developer s Manual Volume 2: Instruction Set Reference, 2003. [9] Intel Corporation. Intel Math Kernel Library Reference Manual, 2003. [10] H. J. Nussbaumer. Fast Fourier Transform and Convolution Algorithms. Springer-Verlag, New York, second corrected and updated edition, 1982. [11] OpenMP. Simple, portable, scalable smp programming. http://www.openmp.org. [12] R. C. Singleton. An algorithm for computing the mixed radix fast Fourier transform. IEEE Trans. Audio Electroacoust., 17:93 103, 1969. [13] P. N. Swarztrauber. FFT algorithms for vector computers. Parallel Computing, 1:45 63, 1984. [14] D. Takahashi. A parallel 1-D FFT algorithm for the Hitachi SR8000. Parallel Computing, 29(6):679 690, 2003. [15] C. Temperton. Self-sorting mixed-radix fast Fourier transforms. J. Comput. Phys., 52:1 23, 1983. [16] C. Van Loan. Computational Frameworks for the Fast Fourier Transform. SIAM Press, Philadelphia, PA, 1992. スーパーコンピューティングニュース - 134 -