Abstract
This paper introduces jAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when executing a single kernel, jAWS accelerates kernel execution by exploiting both devices to realize full performance potential of heterogeneous multicores. jAWS employs an efficient work partitioning algorithm that finds an optimal work distribution between the two devices without requiring offline profiling. The jAWS runtime provides shared arrays for multiple parallel contexts, hence eliminating extra copy overhead for input and output data. Our preliminary evaluation with both CPU-friendly and GPU-friendly benchmarks demonstrates that jAWS provides good load balancing and efficient data communication between parallel contexts, to significantly outperform best single-device execution.
- WebCL Standard. URL http://www.khronos.org/webcl/.Google Scholar
- Web Worker. URL http://www.w3.org/TR/workers.Google Scholar
- M. Boyer, K. Skadron, S. Che, and N. Jayasena. Load Balancing in a Changing World: Dealing with Heterogeneity and Performance Variability. In CF, 2013. Google Scholar
Digital Library
- S. Grauer-Gray, L. Xu, R. Searles, S. Ayalasomayajula, and J. Cavazos. Auto-tuning a high-level language targeted to GPU codes. In Proceedings of Innovative Parallel Computing (InPar), 2012.Google Scholar
Cross Ref
- P. Pandit and R. Govindarajan. Fluidic Kernels: Cooperative Execution of OpenCL Programs on Multiple Heterogeneous Devices. In CGO, 2014. Google Scholar
Digital Library
Index Terms
JAWS: a JavaScript framework for adaptive CPU-GPU work sharing
Recommendations
JAWS: a JavaScript framework for adaptive CPU-GPU work sharing
PPoPP 2015: Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingThis paper introduces jAWS, a JavaScript framework for adaptive work sharing between CPU and GPU for data-parallel workloads. Unlike conventional heterogeneous parallel programming environments for JavaScript, which use only one compute device when ...
Efficient CPU-GPU work sharing for data-parallel JavaScript workloads
WWW '14 Companion: Proceedings of the 23rd International Conference on World Wide WebModern web browsers are required to execute many complex, compute-intensive applications, mostly written in JavaScript. With widespread adoption of heterogeneous processors, recent JavaScript-based data-parallel programming models, such as River Trail ...
GPU-accelerated predicate evaluation on column store
WAIM'10: Proceedings of the 11th international conference on Web-age information managementColumn scan, or predicate evaluation and filtering over a column of data in a database table, is an important primitive for data mining and data warehousing. In this paper, we present our study on accelerating column scan using a massively parallel ...






Comments