hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "CUDA On Hadoop" by ChenHe
Date Mon, 14 Mar 2011 16:16:58 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "CUDA On Hadoop" page has been changed by ChenHe.


  We employ CUDA SDK programs in our experiments. For CUDA SDK programs, we first digested
the code and partitioned the program into portions for data generation, bootstrapping, and
CUDA kernels, with the former two components transformed respectively into a standalone data
generator and a virtual method callable from the map method in our MapRed utility class. The
CUDA kernel is kept as-is since we want to perform the same computation on the GPU only in
a distributed fashion. The data generator is augmented with the feature for taking command-line
arguments such that we can specify input sizes and output location for different experiment
runs. We reuse the code for boot-strapping a kernel execution into part of the mapper workload,
thus providing a seamless integration of CUDA and Hadoop.
  The architecture of the ported CUDA SDK programs onto Hadoop is shown in Figure 1. For reusability,
we have used object-oriented design by abstracting the mapper and reducer functions into a
base class, i.e., MapRed. For different computation, we can override the following virtual
methods defined by MapRed:
+ {{{
- ''• void processHadoopData(string& input); ''
+ • void processHadoopData(string& input);
  • void cudaCompute(std::map<string,string>& output);
+ }}}
  The processHadoopData method provides a hook for the CUDA program to initialize its internal
data structures by parsing the input passed from the Hadoop DFS. Thereafter, MapRed invokes
the cudaCompute method, in which the CUDA kernel is launched. The results of the computation
are stored in the map object and sent over to DFS for reduction.

View raw message