FX10 SIMD SIMD. [3] Dekker [4] IEEE754. a.lo. (SpMV Sparse matrix and vector product) IEEE754 IEEE754 [5] Double-Double Knuth FMA FMA FX10 FMA SIMD

Σχετικά έγγραφα
GPU DD Double-Double 3 4 BLAS Basic Linear Algebra Subprograms [3] 2

Binary32 (a hi ) 8 bits 23 bits Binary32 (a lo ) 8 bits 23 bits Double-Float (a=a hi +a lo, a lo 0.5ulp(a hi ) ) 8 bits 46 bits Binary64 11 bits sign

GMRES(m) , GMRES, , GMRES(m), Look-Back GMRES(m). Ax = b, A C n n, x, b C n (1) Krylov.

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

CUDA FFT. High Performance 3-D FFT in CUDA Environment. Akira Nukada, 1, 2 Yasuhiko Ogata, 1, 2 Toshio Endo 1, 2 and Satoshi Matsuoka 1, 2, 3

GPU. CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA. Parallelizing the Number Partitioning Problem for GPUs

Τελική Εξέταση, Απαντήσεις/Λύσεις

A Fast Finite Element Electromagnetic Analysis on Multi-core Processer System

BiCG CGS BiCGStab BiCG CGS 5),6) BiCGStab M Minimum esidual part CGS BiCGStab BiCGStab 2 PBiCG PCGS α β 3 BiCGStab PBiCGStab PBiCG 4 PBiCGStab 5 2. Bi

Quick algorithm f or computing core attribute

Implementation and performance evaluation of iterative solver for multiple linear systems that have a common coefficient matrix

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Performance improvement of iterative solver using bit-compression for a sparse matrix

Filter Diagonalization Method which Constructs an Approximation of Orthonormal Basis of the Invariant Subspace from the Filtered Vectors

Παρουσίαση 2 ης Άσκησης:

Efficient Implementation of Sparse Linear Algebra Operations on InfiniBand Cluster. Akira Nishida,

Re-Pair n. Re-Pair. Re-Pair. Re-Pair. Re-Pair. (Re-Merge) Re-Merge. Sekine [4, 5, 8] (highly repetitive text) [2] Re-Pair. Blocked-Repair-VF [7]

3: A convolution-pooling layer in PS-CNN 1: Partially Shared Deep Neural Network 2.2 Partially Shared Convolutional Neural Network 2: A hidden layer o

FPGA. Fast and Efficient Tsunami Propagation Simulation with FPGA and GPGPU

Transient Voltage Suppression Diodes: 1.5KE Series Axial Leaded Type 1500 W

Αριθµητικές Μέθοδοι Collocation. Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΡΗΤΗΣ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Παρουσίαση 1 ης Άσκησης:

Fourier transform, STFT 5. Continuous wavelet transform, CWT STFT STFT STFT STFT [1] CWT CWT CWT STFT [2 5] CWT STFT STFT CWT CWT. Griffin [8] CWT CWT

Bundle Adjustment for 3-D Reconstruction: Implementation and Evaluation

Orthogonalization Library with a Numerical Computation Policy Interface

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Stabilization of stock price prediction by cross entropy optimization

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ενσωματωμένα Συστήματα

ΤΕΧΝΙΚΕΣ ΠΡΟ ΙΑΓΡΑΦΕΣ ΕΞΟΠΛΙΣΜΟΥ

Yoshifumi Moriyama 1,a) Ichiro Iimura 2,b) Tomotsugu Ohno 1,c) Shigeru Nakayama 3,d)

Probabilistic Approach to Robust Optimization

Parallel Implementation of John Conway s Game of Life

Metal thin film chip resistor networks


ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

EM 361: Παράλληλοι Υπολογισμοί

The Tersoff many-body potential: Sustainable performance through vectorization

Wavelet based matrix compression for boundary integral equations on complex geometries

Ανάκτηση Πληροφορίας

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

Επιστηµονικός Υπολογισµός Ι

Advanced Data Indexing

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Indexing Methods for Encrypted Vector Databases

CMOS Technology for Computer Architects

Παρουςίαςθ 2 θσ Άςκθςθσ:

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

OIKONOMIKO ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΑΤΗΣΙΩΝ ΑΘΗΝΑ - ΤΗΛ FAX:

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Simplex Crossover for Real-coded Genetic Algolithms

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές

GridFTP-APT: Automatic Parallelism Tuning Mechanism for Data Transfer Protocol GridFTP

Εισαγωγή στην πληροφορική -4

Εικονική Μνήμη (Virtual Μemory)

Συσταδοποίηση Ι. Τι είναι συσταδοποίηση. Εφαρμογές. Εφαρμογές. Εισαγωγή Θέματα που θα μας απασχολήσουν σήμερα. Πότε μια συσταδοποίηση είναι καλή;

Εικονική Μνήμη (Virtual Μemory)

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Κεφάλαιο 3. Αριθμητική Υπολογιστών Review. Hardware implementation of simple ALU Multiply/Divide Real Numbers

Matrices and vectors. Matrix and vector. a 11 a 12 a 1n a 21 a 22 a 2n A = b 1 b 2. b m. R m n, b = = ( a ij. a m1 a m2 a mn. def

Retrieval of Seismic Data Recorded on Open-reel-type Magnetic Tapes (MT) by Using Existing Devices

New Adaptive Projection Technique for Krylov Subspace Method

An Efficient Calculation of Set Expansion using Zero-Suppressed Binary Decision Diagrams

Anomaly Detection with Neighborhood Preservation Principle

MPSoCs για εφαρμογές Video

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

ER-Tree (Extended R*-Tree)

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

+85 C Snap-Mount Aluminum Electrolytic Capacitors. High Voltage Lead free Leads Rugged Design. -40 C to +85 C

Maude 6. Maude [1] UIUC J. Meseguer. Maude. Maude SRI SRI. Maude. AC (Associative-Commutative) Maude. Maude Meseguer OBJ LTL SPIN

Buried Markov Model Pairwise

Επιστηµονικός Υπολογισµός Ι

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Αντικειμενοστραφής Προγραμματισμός

SMD Transient Voltage Suppressors

ΠΡΟΣ: Κάθε ενδιαφερόμενο ΘΕΜΑ: Πρόσκληση εκδήλωσης ενδιαφέροντος για τη Προμήθεια Εξοπλισμού Πληροφορικής.

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών. Εισαγωγή. Συστήματα Παράλληλης Επεξεργασίας 9 ο Εξάμηνο

ΘΕΜΑ : MULTIMEDIA & ΤΕΧΝΟΑΟΓΙΑ

ΤΟ ΠΑΡΟΝ ΕΡΓΟ ΣΥΓΧΡΗΜΑΤΟΔΟΤΕΙΤΑΙ ΚΑΤΑ 80% ΤΟ ΑΝΩΤΕΡΟ ΑΠΟ ΤΟ ΕΥΡΩΠΑΪΚΟ ΤΑΜΕΙΟ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΑΝΑΠΤΥΞΗΣ (Ε.Τ.Π.Α.) ΚΑΙ ΚΑΤΑ ΤΟ 20% ΑΠΟ ΕΘΝΙΚΟΥΣ ΠΟΡΟΥΣ

A Method for Creating Shortcut Links by Considering Popularity of Contents in Structured P2P Networks

IPSJ SIG Technical Report Vol.2014-CE-127 No /12/6 CS Activity 1,a) CS Computer Science Activity Activity Actvity Activity Dining Eight-He

Processor-Memory (DRAM) ιαφορά επίδοσης

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA

Παράλληλοι υπολογιστές

ΤΕΧΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ Συνολικού Προϋπολογισμού:73.800,οο Η/Υ ΤΥΠΟΣ-Α

Οι τέσσερις αρχές για τον σχεδιασμό του συνόλου εντολών μιας μηχανής είναι:

ΘΕΜΑ : Πρόσκληση εκδήλωσης ενδιαφέροντος για την «Προμήθεια Λογισμικού και ηλεκτρονικού εξοπλισμού ΔΕ Φιλιατρών». ΑΝΑΚΟΙΝΩΣΗ

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Μελέτη των επεξεργαστών 32 bit της εταιρίας Microchip Technology και ανάπτυξη σειράς υποδειγµατικών εφαρµογών

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

!! " # $%&'() * & +(&( 2010

1 (forward modeling) 2 (data-driven modeling) e- Quest EnergyPlus DeST 1.1. {X t } ARMA. S.Sp. Pappas [4]

(Υπογραϕή) (Υπογραϕή) (Υπογραϕή)

Transcript:

FX,a),b),c) Bailey Double-Double [] FMA FMA [6] FX FMA SIMD Single Instruction Multiple Data 5 4.5. [] Bailey SIMD SIMD 8bit FMA (SpMV Sparse matrix and vector product) FX. DD Bailey Double-Double a) em49@ns.kogakuin.ac.jp b) fujii@cc.kogakuin.ac.jp c) teru@cc.kogakuin.ac.jp [] Double-Double Knuth [] Dekker [4] SIMD IEEE754 a a.hi a.lo 5 =4bit bit IEEE754 bit 5bit IEEE754 8bit 4bit IEEE754 [5] FMA FMA 4 c 5 Information Processing Society of Japan

DD_ADD(a, b, c) { //a = b + c sh = b.hi + c.hi; th = sh - b.hi; tl = sh - th; th = c.hi - th; tl = b.hi - tl; eh = tl + th; eh = eh + b.lo; eh = eh + c.lo; a.hi = sh + eh; a.lo = a.hi - sh; a.lo = eh - a.lo; DD_MUL(a, b, c) { //a = b * c sp = 4779.; p = b.hi * c.hi; tq = sp * b.hi; bh = tq - (tq - b.hi); DD_MUL(a, b, c) { //a = b * c p = b.hi * c.hi; p = b.hi * c.hi - p; p = b.hi * c.lo + p; p = b.lo * c.hi + p; bl = b.hi - bh; a.hi = p + p; tq = sp * c.hi; a.lo = p - (a.hi - p); ch = tq - (tq - c.hi); cl = c.hi - ch; p = bh * ch - p; p = bh * cl + p; p = bl * ch + p; p = bl * cl + p; p = b.hi * c.lo + p; p = b.lo * c.hi + p; a.hi = p + p; a.lo = p - (a.hi - p); (nofma) 4 FMA. FX DD. FX FX FMA 56 HPC-ACE 5 FX FLA FLB FMA step 4 FMA 8bit 56 HPC-ACE[9] SIMD 5 FX :SPARC64 T M IXfx Extensions[7] FMA 5 9 FX 5step FMA FMA 7step FMA FMA step 5 7. =5/7 FMA step SIMD FMA FLA FLB x86 6 step move c 5 Information Processing Society of Japan

6 FX 56. SIMD 6 AoS : Array of Structure (SoA : Structure of Array) SIMD SoA [] A B A.hi B.lo A.lo B.hi AoS 8bit SIMD shuffle SoA shuffle SoA Lis[] FX AoS FX fast dd[8] 4. 4. FX SPARC64 T M VIIIfx@. GHz (8 cores L Cache KiB L Cache 6MiB) DDR SDRAM Bandwidth 64GB/s FX SPARC64 T M IXfx@.848 GHz (6 cores L Cache KiB L Cache MiB) DDR SDRAM Bandwidth 85GB/s C O OpenMP -Kopenmp -Kprefetch conditional -Kdalign -Knoeval -O fma -no-fma K FX Processor SPARC64 T M VIIIfx IXfx Frequency. GHz.848GHz Number of Core 8 6 Number of Register 56 56 L Cache per core KB KB L Cache 6MB MB Memory DDR SDRAM Memory Size 6GB GB Memory Bandwidth 64GB/s 85GB/s Compiler Vectorization Options Options (nofma) Fujitsu Compiler (fccpx) HPC-ACE -Kopenmp -Kprefetch conditional -Kdalign -Knoeval -O -Kopenmp -Kprefetch conditional -Kdalign -Knoeval -O -no-fma FX Name Operation Load Store step nofma (fma) axpy y = αx + y 6 (8) axpyz z = αx + y 6 (8) xpay y = x + αy 6 (8) scale x = αx 5 (7) dot val = x y 6 (8) nrm val = x (6) 4. OpenMP 8 x y z α val 6 SIMD FMA 4 L 4 lis Lis lisbased lis fastdd fast dd scalar simd SIMD nofma fma FMA 5 lis scalar nofma scale FMA 5step 7step..7 SIMD.64 fastdd simd fastdd scalar.8 fast dd Lis c 5 Information Processing Society of Japan

L ( 6MiB) Time [ms] (speed up ratio) lis scalar nofma lis scalar fma lisbased simd nofma 4 lisbased simd fma 5 fastdd scalar 6 fastdd simd scale.5 (. ).4 (. ).9 (.6 ).9 ( 5.98 ).96 (.5 ).4 (.48 ) axpy.48 (. ). (.5 ).8 (.75 ). ( 4.6 ).9 (.4 ).4 (.4 ) xpay.48 (. ). (.5 ).8 (.7 ). ( 4.64 ). (.4 ).4 (. ) axpyz.48 (. ). (.5 ).7 (.77 ). ( 4.7 ). (.4 ).4 (. ) dot.95 (. ).66 (.44 ).7 (.59 ). ( 4.9 ).7 (.44 ).86 (. ) nrm.84 (. ).65 (.8 ). (.7 ).8 ( 4.6 ).6 (.4 ).8 (.4 ) 4 L ( GB) Time [s] (speed up ratio) lis scalar nofma lis scalar fma lisbased simd nofma 4 lisbased simd fma 5 fastdd scalar 6 fastdd simd scale.8 (. ).4 (.7 ). (.64 ). (.6 ).5 (.5 ).5 (.49 ) axpy. (. ).7 (.5 ).4 (.74 ). (.79 ).4 (.4 ).9 (. ) xpay. (. ).7 (.5 ).4 (.74 ). (.7 ). (.4 ).9 (. ) axpyz. (. ).7 (.5 ).4 (.7 ). (.69 ). (.4 ).9 (. ) dot.5 (. ). (.45 ).6 (.6 ). ( 4.7 ).4 (.44 ). (. ) nrm. (. ). (.4 ).5 (.7 ).4 (.7 ). (.4 ). (.4 ) FMA SIMD 5.7 =.7.64 5.98.6 Vector Size.. 8 scale 7 flop performance[gf olps] = V ectorsize/time 9 L 6MB (Vector Size = 6. 5 ) MB (Vector Size =. 6 ).5GFlops 5MB (Vector Size =. 7 ).GFlops scale Store axpy xpay axpyz dot nrm L FX 4. CRS FMA SIMD SpMV FMA SIMD FX 6 performance [GFlops].5.5.5 5 SoA AoS fma nofma simd scalar 4 5 6 lisbased - simd - fma lisbased - simd - nofma lis - scalar - fma lis - scalar - nofma fastdd - simd fastdd - scalar 4 5 6 7 8 7 Vector Size scale( x = αx ) CRS(Compressed Row Storage) [] A nnz row value index pointer index value index nnz pointer row c 5 Information Processing Society of Japan 4

DD_SpMV(A, x, y) { //y = A * x for(i=:i<a.row;++i) { js = A.ptr[i]; je = A.ptr[i+]; vy = _mm_setzero_pd(); for(j=js;j<je;j+=) { va = _mm_load_pd(&a.val[j]) vx = _mm_set_pd(x[a.index[j+]], x[a.index[j]]) DD_MUL(tmp, va, vx,); DD_ADD(vy, vy, tmp,); y[i] = redction(vy); fraction_padding() 8 SIMD SpMV x index value SIMD 8 x SET SpMV A D x DD y DD =A D x DD DD-SpMV FMA A A.hi 7step SIMD SET fraction processing() y reduction() The Univ. of Florida Sparse Matrix Collection[] ( ) row 5 45 A if( j-i )A[i][j] = value else A[i][j] = 5 performance [GFlops] 8 7 6 5 4 CRS CRS - u CRS - u4 CRS - u6 5 5 5 5 4 9 nnz/row DD-SpMV ( ) performance[f lops] = nnz/time 9,,4,6 DD-SpMV row 5 4 nnz/row nnz/row 8 DD-SpMV step FLA/FLB Load,Store,Brunch 8step FLA FLB 7step.6 DD-SpMV DD-SpMV CRS u.6 6 CRS u CRS u6 8 DD-SpMV fraction processing() reduction() DD- SpMV 45 DD-SpMV CRS c 5 Information Processing Society of Japan 5

relative performance 4.5 4.5.5.5.5 CRS CRS - u CRS - u4 CRS - u6 5 5 5 5 4 Matrix Number (sorting by relative performance of CRS - u6) DD-SpMV ( ) performance [GFlops] 6 5 4 CRS CRS - u CRS - u4 CRS - u6 5 5 5 5 4 Matrix Number (sorting by performance of CRS) DD-SpMV ( ) CRS u6 CRS CRS CRS CRS u6 CRS 4.5. nnz/row nnz/row 5. FX FMA SIMD FMA.. SIMD 4 5 x FX 6.6 6 4.5 nnz/row. AICS HPC (4 ) JSPS 544 [] Bailey,D,H., High-Precision Floating-Point Arithmetic in Scientic Computation., computing in Science and Engineering, pp.54-6 (5). [] Hasegawa, H., Utilizing the Quadruple-Precision floating-point Arithmetic Operation for the Krylov Subspace Methods, The 8th SIAM Conference on Applied Linear Algebra (). [] Knuth,D,E., The Art of Computer Programming: c 5 Information Processing Society of Japan 6

Seminumerical Algorithms, Vol., Addison-Wesley (969). [4] Dekker,T., A floating-point technique for extending the available precision, Numerische Mathematik, Vol.8, pp.4-4 (97). [5],,,, AVX BCRS, (ACS), Vol.7, No.4, pp.5- (4). [6] FUJITSU, Super Computer K., http://jp.fujitsu.com/about/tech/k/. [7] FUJITSU, SPARC64 T M IXfx Extensions., http://img.jp.fujitsu.com/downloads/jp/jhpc/sparc64ixfxextensionsj.pdf. [8] FUJITSU, 4 (). [9] FUJITSU, C++PREMEHPC FX, pp.48-6 (). [] SSI, Lis., http://www.ssisc.org/lis/index.ja.html. [],.,, pp.9-4 (). [] R. Barrett et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM pp.57-65 (994). [] The University of Florida Sparse Matrix Collection., http://www.cise.ufl.edu/research/sparse/matrices/. c 5 Information Processing Society of Japan 7