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

Σχετικά έγγραφα
GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

ER-Tree (Extended R*-Tree)

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

Buried Markov Model Pairwise

Quick algorithm f or computing core attribute

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]

Newman Modularity Newman [4], [5] Newman Q Q Q greedy algorithm[6] Newman Newman Q 1 Tabu Search[7] Newman Newman Newman Q Newman 1 2 Newman 3

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

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

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

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

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

Speeding up the Detection of Scale-Space Extrema in SIFT Based on the Complex First Order System

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

[4] 1.2 [5] Bayesian Approach min-max min-max [6] UCB(Upper Confidence Bound ) UCT [7] [1] ( ) Amazons[8] Lines of Action(LOA)[4] Winands [4] 1

HIV HIV HIV HIV AIDS 3 :.1 /-,**1 +332

þÿ ½ Á Å, ˆ»µ½± Neapolis University þÿ Á̳Á±¼¼± ¼Ìù±Â ¹ º à Â, Ç» Ÿ¹º ½ ¼¹ºÎ½ À¹ÃÄ ¼Î½ º±¹ ¹ º à  þÿ ±½µÀ¹ÃÄ ¼¹ µ À»¹Â Æ Å

Development of a Seismic Data Analysis System for a Short-term Training for Researchers from Developing Countries

Research of Han Character Internal Codes Recognition Algorithm in the Multi2lingual Environment

Vol. 31,No JOURNAL OF CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY Feb

A research on the influence of dummy activity on float in an AOA network and its amendments

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

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

Bundle Adjustment for 3-D Reconstruction: Implementation and Evaluation

ΚΒΑΝΤΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

Development of a basic motion analysis system using a sensor KINECT

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

Εκτεταμένη περίληψη Περίληψη

Μηχανισμοί πρόβλεψης προσήμων σε προσημασμένα μοντέλα κοινωνικών δικτύων ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Indexing Methods for Encrypted Vector Databases

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

Η ΠΡΟΣΩΠΙΚΗ ΟΡΙΟΘΕΤΗΣΗ ΤΟΥ ΧΩΡΟΥ Η ΠΕΡΙΠΤΩΣΗ ΤΩΝ CHAT ROOMS

Δθμιουργία, μελζτθ και βελτιςτοποίθςθ φωτορεαλιςτικϊν απεικονίςεων πραγματικοφ χρόνου με χριςθ προγραμματιηόμενων επεξεργαςτϊν γραφικϊν

Comparison of Evapotranspiration between Indigenous Vegetation and Invading Vegetation in a Bog

ΑΠΟΔΟΤΙΚΗ ΑΠΟΤΙΜΗΣΗ ΕΡΩΤΗΣΕΩΝ OLAP Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υποβάλλεται στην

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

þÿ ¹µ ½  ±À±³É³ À±¹ ¹Î½ º±Ä þÿ ͼ²±Ã Ä Â ³ Â Ä Å

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

An Automatic Modulation Classifier using a Frequency Discriminator for Intelligent Software Defined Radio

Research on vehicle routing problem with stochastic demand and PSO2DP algorithm with Inver2over operator

GPU DD Double-Double 3 4 BLAS Basic Linear Algebra Subprograms [3] 2

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ. Ι ΑΣΚΟΝΤΕΣ: Μαρία Κανακίδου, Σταύρος Φαράντος, Γιώργος Φρουδάκης

Reading Order Detection for Text Layout Excluded by Image

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

* ** *** *** Jun S HIMADA*, Kyoko O HSUMI**, Kazuhiko O HBA*** and Atsushi M ARUYAMA***

Κάθε γνήσιο αντίγραφο φέρει υπογραφή του συγγραφέα. / Each genuine copy is signed by the author.

Ψηφιακό Μουσείο Ελληνικής Προφορικής Ιστορίας: πώς ένας βιωματικός θησαυρός γίνεται ερευνητικό και εκπαιδευτικό εργαλείο στα χέρια μαθητών

Applying Markov Decision Processes to Role-playing Game

Optimization Investment of Football Lottery Game Online Combinatorial Optimization

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C.

VBA Microsoft Excel. J. Comput. Chem. Jpn., Vol. 5, No. 1, pp (2006)

ΣΤΥΛΙΑΝΟΥ ΣΟΦΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

Resurvey of Possible Seismic Fissures in the Old-Edo River in Tokyo

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

Math 6 SL Probability Distributions Practice Test Mark Scheme

ΑΝΑΠΤΥΞΗ ΠΑΙΧΝΙΔΙΟΥ ΣΟΒΑΡΟΥ ΣΚΟΠΟΥ ΓΙΑ ΤΗΝ ΕΚΜΑΘΗΣΗ ΕΝΝΟΙΩΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΕ JAVA

Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»

Web 論 文. Performance Evaluation and Renewal of Department s Official Web Site. Akira TAKAHASHI and Kenji KAMIMURA

Nov Journal of Zhengzhou University Engineering Science Vol. 36 No FCM. A doi /j. issn

Δυσκολίες που συναντούν οι μαθητές της Στ Δημοτικού στην κατανόηση της λειτουργίας του Συγκεντρωτικού Φακού

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Jesse Maassen and Mark Lundstrom Purdue University November 25, 2013

Orthogonalization Library with a Numerical Computation Policy Interface

Ευρετικές Μέθοδοι. Ενότητα 1: Εισαγωγή στις ευρετικές μεθόδους. Άγγελος Σιφαλέρας. Μεταπτυχιακό Εφαρμοσμένης Πληροφορικής ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΙ

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

ΚΕΙΜΕΝΟΚΕΝΤΡΙΚΗ ΘΕΩΡΙΑ: ΘΕΩΡΗΤΙΚΟ ΠΛΑΙΣΙΟ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΕΦΑΡΜΟΓΗ ΣΕ ΣΠΠΕ ΜΕ ΣΤΟΧΟ ΤΟΝ ΠΕΡΙΒΑΛΛΟΝΤΙΚΟ ΓΡΑΜΜΑΤΙΣΜΟ ΤΩΝ ΜΑΘΗΤΩΝ

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

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Probabilistic Approach to Robust Optimization

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Downloaded from HEPHAESTUS Repository, Neapolis University institutional repository

Abstract Storage Devices

IMES DISCUSSION PAPER SERIES

þÿ Ç»¹º ³µÃ ± : Ãż²» Ä Â

Study of In-vehicle Sound Field Creation by Simultaneous Equation Method

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

Homework 3 Solutions

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

: Monte Carlo EM 313, Louis (1982) EM, EM Newton-Raphson, /. EM, 2 Monte Carlo EM Newton-Raphson, Monte Carlo EM, Monte Carlo EM, /. 3, Monte Carlo EM

Liner Shipping Hub Network Design in a Competitive Environment

þÿÿ ÁÌ» Â Ä Å ¹µÅ Å½Ä ÃÄ

Maxima SCORM. Algebraic Manipulations and Visualizing Graphs in SCORM contents by Maxima and Mashup Approach. Jia Yunpeng, 1 Takayuki Nagai, 2, 1

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

The Nottingham eprints service makes this work by researchers of the University of Nottingham available open access under the following conditions.

HOSVD. Higher Order Data Classification Method with Autocorrelation Matrix Correcting on HOSVD. Junichi MORIGAKI and Kaoru KATAYAMA

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. «Προστασία ηλεκτροδίων γείωσης από τη διάβρωση»

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

Mitomycin C application for the prevention of postoperative synechiae formation at the anterior commissure.

GPU. Energy Consumption and Acceleration of GPU of Molecular Dynamics Simulation. TAKURO UDAGAWA 1 and MASAKAZU SEKIJIMA 2, 3

Approximation of distance between locations on earth given by latitude and longitude

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΠΑΝΑΣΧΕΔΙΑΣΜΟΣ ΓΡΑΜΜΗΣ ΣΥΝΑΡΜΟΛΟΓΗΣΗΣ ΜΕ ΧΡΗΣΗ ΕΡΓΑΛΕΙΩΝ ΛΙΤΗΣ ΠΑΡΑΓΩΓΗΣ REDESIGNING AN ASSEMBLY LINE WITH LEAN PRODUCTION TOOLS

SCITECH Volume 13, Issue 2 RESEARCH ORGANISATION Published online: March 29, 2018

E#ects of Drying on Bacterial Activity and Iron Formation in Acid Sulfate Soils

ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ. Μειέηε Υξόλνπ Απνζηείξσζεο Κνλζέξβαο κε Τπνινγηζηηθή Ρεπζηνδπλακηθή. Αζαλαζηάδνπ Βαξβάξα

Research on real-time inverse kinematics algorithms for 6R robots

Transcript:

GPU 1 1 NP number partitioning problem Pedroso CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA C Pedroso Python 323 Python C 12.2 Parallelizing the Number Partitioning Problem for GPUs Tomoya Sato 1 Noriyuki Fujimoto 1 Abstract: The number partitioning problem is an NP-hard problem that can be applied to public-key cryptography and so on. For the problem, Pedroso et al. presented an algorithm based on breadth first search and beam search of a search tree. In this paper, we propose a method to parallelize Pedroso et al. s algorithm for GPUs based on the CUDA architecture. The experimental results on an NVIDIA GeForce GTX 580 GPU and a 2.67GHz Intel Core 2 Duo CPU E7300 show that the CUDA C program based on the proposed method is up to 323 times faster than the serial Python program published by Pedroso et al. Another experiment show that the proposed CUDA C program is up to 12.2 times faster than our serial C program ported from the Python program. 1. number partitioning problem NP [2] [9] Pedroso Pedroso GPU 1 Graduate School of Science, Osaka Prefecture University CUDA 2 Pedroso 3 4 5 GPU [1], [3], [6], [7], [11] 2. 2.1 N A={a 1, a 2,, a N } E A (P ) = a i a i i P i/ P A P {1,, N} discrepancy c 2012 Information Processing Society of Japan 1

A E A (P ) P E A (P ) 0 1 P A perfect partition 2.2 Karmarkar and Karp KK Karmarkar Karp differencing method [5] KK(A) ( 1 ) n v 1,, v n A a i key(v i ) = a i ( 2 ) T = {} // ( 3 ) while 1 ( 4 ) key 2 u v ( 5 ) T (u, v) ( 6 ) v ( 7 ) key(u) = key(u) key(v) ( 8 ) return key T key KK T 2 2.3 complete differencing method KK 2 2 1 2 1 {8, 7, 6, 5, 4} 2 (1)KK 4 4 (2) 0 1 (3) 1 2.4 Pedroso Pedroso α Pinedo [10] α Pedroso KK α BFS(A, α, T ) ( 1 ) E = KK(A) ( 2 ) B = {A} // ( 3 ) while B {} and CPU time used < T ( 4 ) C = {} // ( 5 ) for B β ( 6 ) b = β ( 7 ) r = β b ( 8 ) if b r = 0 or b r = 1 ( 9 ) return b r //{b}, β {b} ( 10 ) if b r //{b}, β {b} β ( 11 ) if b r E // ( 12 ) E = b r ( 13 ) else ( 14 ) C = C β ( 15 ) B = {} ( 16 ) C ={C α } ( 17 ) for C β ( 18 ) b 1 = β ( 19 ) b 2 = β 2 ( 20 ) X = {b 1 b 2 } β {b 1, b 2 } ( 21 ) Y = {b 1 + b 2 } β {b 1, b 2 } ( 22 ) B = B {X, Y } ( 23 ) E = KK(Y ) ( 24 ) if E < E // ( 25 ) E = E ( 26 ) return E 16 21 KK c 2012 Information Processing Society of Japan 2

1 {8,7,6,5,4} Fig. 1 The complete differencing method for {8,7,6,5,4}. 3. 3.1 CUDA Thrust[4] 2.4 17-25 GPU 2 KK 3.2 KK KK shared 2 2 1 KK 2 d 2 1 d q 2 q 1 q d 1 2 A[0], A[1],, A[n 1] d = A[n 1] A[n 2] q n d A[i] < d i i q A[i] < d atomicmin i q atomicmin 1 2 2 2 1 2 3 A[q] 1 A[j + 1] = A[j](q j < n 2) A[j] A[j + 1] A[q] 1 d 4 1 1 KK 1 1 4 KK c 2012 Information Processing Society of Japan 3

4 1 KK Fig. 4 The number of threads per node and the total execution time of KK differencing method. 2 d Fig. 2 Parallel search of the position at which d should be inserted. 3 q 1 d Fig. 3 Parallel insertion of d. 3.3 2.4 6-12 : 18-22 KK 23 3 1 1 1 KK 4-7 KK 3.2 KK 1 8 16 GeForce GTX 580 1 8 1 1536 1 1 1 8 16 8 =128 64 GPU 1 1 1 8 1 shared GeForce GTX 580 shared 48KB 8 1 shared 5 1 16 KK 8 5 8 c 2012 Information Processing Society of Japan 4

5 KK 16 / 8 / KK Fig. 5 Speedup ratio of 16 threads per node to 8 threads per node for KK differencing method. 6 Python GPU Fig. 6 Speedup ratio of our GPU program to the corresponding Python program. KK 1 8 1 1 16 4. CPU 2.67GHz Intel Core2 Duo E7300 GPU NVIDIA GeForce GTX 580 OS Windows 7 Professional 64bit CUDA4.2 Visual Studio 2008 Professional CPU Pedroso Python C Python Pedroso Web [8] Python 2.7 D instance 15 105 10 10 12 14 easy instance hard instance 1 α 10 100 1000 10000 100000 6 Python GPU CPU 60 113 323 7 C GPU 12.2 3 1 GPU CPU GPU 7 C GPU Fig. 7 Speedup ratio of our GPU program to the corresponding C program. 8 GPU 2 α 3 5. Pedroso GPU Python 323 C 12.2 64bit a max O(Na max ) CPU a max N N 1024bit c 2012 Information Processing Society of Japan 5

tems, Prentice-Hall,Englewood Cliffs(1995). [11] J. Sanders and E. Kandrot: CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley Professional (2010). 8 GPU CPU GPU Fig. 8 Ratio of data transfer time between CPU and GPU to the whole execution time of our GPU program. GPU Python 35 [1], : CUDA, (2009). [2] M. R. Garey and D. S. Johnson: Computers and Intractability: A Guide to the Theory of NP- Completeness, W H Freeman (1979). [3] M. Garland and D. B. Kirk: Understanding Throughput- Oriented Architectures, Comm. ACM, 53(11), 58 66 (2010). [4] J. Hoberock and N. Bell: Thrust(online), http://code.google.com/p/thrust/ (2012.01.11). [5] N. Karmarkar and R. M. Karp: The differencing method of set partitioning, Technical report UCB/CSD 82/113, University of California. Berkele, Computer Science Division (1982). [6] D. B. Kirk and W. W. Hwu: Programming Massively Parallel Processors: A Hands-on Approach, Morgan Kaufmann (2010). [7] E. Lindholm, J. Nickolls, S. Oberman, and J. Montrym: NVIDIA Tesla: A Unified Graphics and Computing Architecture, IEEE Micro, 28(2), 39 55 (2008). [8] J. P. Pedroso: Tree Search for Number Partitioning: An Implementation in the Python language, Internet repository, version 1.0(online), http://www.dcc.fc.up.pt/ jpp/partition (2011.07.05). [9] J. P. Pedroso and M. Kubo: Heuristics and exact methods for number partitioning European Journal of Operational Research, 202, 73 81(2010). [10] M. Pinedo: Scheduling: Theory, Algorithms, and Sys- c 2012 Information Processing Society of Japan 6