JAWS

A JavaScript framework for adaptive CPU-GPU work sharing

Xianglan Piao, Channoh Kim, Younghwan Oh, Huiying Li, Jincheon Kim, Hanjun Kim, Jae W. Lee

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)

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.

Original languageEnglish
Title of host publication20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings
PublisherAssociation for Computing Machinery
Pages251-252
Number of pages2
Volume2015-January
ISBN (Electronic)9781450332057
DOIs
Publication statusPublished - 2015 Jan 1
Event20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - San Francisco, United States
Duration: 2015 Feb 72015 Feb 11

Other

Other20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015
CountryUnited States
CitySan Francisco
Period15/2/715/2/11

Fingerprint

Program processors
Parallel programming
Resource allocation
Communication
Graphics processing unit

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Piao, X., Kim, C., Oh, Y., Li, H., Kim, J., Kim, H., & Lee, J. W. (2015). JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. In 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings (Vol. 2015-January, pp. 251-252). Association for Computing Machinery. https://doi.org/10.1145/2688500.2688525
Piao, Xianglan ; Kim, Channoh ; Oh, Younghwan ; Li, Huiying ; Kim, Jincheon ; Kim, Hanjun ; Lee, Jae W. / JAWS : A JavaScript framework for adaptive CPU-GPU work sharing. 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Vol. 2015-January Association for Computing Machinery, 2015. pp. 251-252
@inproceedings{b4140aa1126c4b3ca5b9990261c6ec40,
title = "JAWS: A JavaScript framework for adaptive CPU-GPU work sharing",
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.",
author = "Xianglan Piao and Channoh Kim and Younghwan Oh and Huiying Li and Jincheon Kim and Hanjun Kim and Lee, {Jae W.}",
year = "2015",
month = "1",
day = "1",
doi = "10.1145/2688500.2688525",
language = "English",
volume = "2015-January",
pages = "251--252",
booktitle = "20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings",
publisher = "Association for Computing Machinery",

}

Piao, X, Kim, C, Oh, Y, Li, H, Kim, J, Kim, H & Lee, JW 2015, JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. in 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. vol. 2015-January, Association for Computing Machinery, pp. 251-252, 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015, San Francisco, United States, 15/2/7. https://doi.org/10.1145/2688500.2688525

JAWS : A JavaScript framework for adaptive CPU-GPU work sharing. / Piao, Xianglan; Kim, Channoh; Oh, Younghwan; Li, Huiying; Kim, Jincheon; Kim, Hanjun; Lee, Jae W.

20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Vol. 2015-January Association for Computing Machinery, 2015. p. 251-252.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - JAWS

T2 - A JavaScript framework for adaptive CPU-GPU work sharing

AU - Piao, Xianglan

AU - Kim, Channoh

AU - Oh, Younghwan

AU - Li, Huiying

AU - Kim, Jincheon

AU - Kim, Hanjun

AU - Lee, Jae W.

PY - 2015/1/1

Y1 - 2015/1/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=84939156090&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84939156090&partnerID=8YFLogxK

U2 - 10.1145/2688500.2688525

DO - 10.1145/2688500.2688525

M3 - Conference contribution

VL - 2015-January

SP - 251

EP - 252

BT - 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings

PB - Association for Computing Machinery

ER -

Piao X, Kim C, Oh Y, Li H, Kim J, Kim H et al. JAWS: A JavaScript framework for adaptive CPU-GPU work sharing. In 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings. Vol. 2015-January. Association for Computing Machinery. 2015. p. 251-252 https://doi.org/10.1145/2688500.2688525