학술논문

A Highly Scalable Solution of an NP-Complete Problem Using CUDA
Document Type
Conference
Source
2011 Sixth International Symposium on Parallel Computing in Electrical Engineering Parallel Computing in Electrical Engineering (PARELEC), 2011 6th International Symposium on. :93-98 Apr, 2011
Subject
Computing and Processing
Communication, Networking and Broadcast Technologies
Graphics processing unit
Instruction sets
Kernel
Memory management
Arrays
Polynomials
NP-complete problem
CUDA
GPU
NP-Complete problems
Parallel Processing
SAT
Scalability
Language
Abstract
NP Complete problems are one of the most complex problems in computer science but their vast applications in real world always pushes the scientists to explore new ways to solve them. We extended the original problem definition of Boolean Satisfiability Problem to finding all satisfiable solutions of a given problem instance and used massively parallel architecture of CUDA (Compute Unified Device Architecture) for reducing its run time. Certainly, exponential time complexity of this NP Complete problem can't be so easily reduced to polynomial time but through our implementation it can be well challenged for sufficiently large number of inputs. Our fully optimized implementation attained speedup ranging from 19x to 188x on Nvidia Ge Force GTX 260 for different type of SAT problems.