Добавить
Уведомления

C++Now 2017: Jonathan Beard “RaftLib: Simpler Parallel Programming"

http://cppnow.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/boostcon/cppnow_presentations_2017 — Almost every commodity compute device from cell phone to server has a heterogeneous multicore processor inside it. To use these complex cores, we must write code that can execute in parallel. Effective use of multicore hardware with today’s tools requires that a programmer know a lot about the hardware. This was feasible with a single core, and two cores, but how about a hundred? What happens with cores that are of different types? How about multiple memory types? How about effectively programming these systems with differing link types for each of these processor-memory combinations? This hardware complexity is not well accommodated by current software models. RaftLib aims to abstract away this complexity to make authoring performant parallel applications in C++ as simple as possible, while giving the experienced programmer the control they desire without the boiler-plate code that often comes with lower-level APIs. It utilizes the familiar semantics of stream operators to link multiple parallel actors into a parallel, streaming application. RaftLib is built as a C++ template library, enabling programmers to utilize the robust C++ standard library along with RaftLib’s parallelization framework. RaftLib enables a programmer to write C++ code that will execute in multiple processes, multiple threads, user space threads, on distributed nodes, and with optional extensions, on accelerators without learning dozens of complex interfaces. This session covers the pitfalls of programming parallel hardware, offers RaftLib as a solution, and we'll walk programmers through how to use it effectively. — Jonathan Beard received a BS (Biology) and BA (International Studies) in 2005 from the Louisiana State University, MS (Bioinformatics) in 2010 from The Johns Hopkins University, and a PhD in Computer Science from Washington University in St. Louis in 2015. Jonathan served as a U.S. Army Officer from 2005 through July 2010 where he served in roles ranging from medical administrator, to Aide-de-Camp, to acting director of the medical informatics department for the U.S. Army in Europe. Jonathan is currently a computer architecture researcher focusing on next generation architectures for Big Data beyond exascale. Jonathan also has served as a technical advisor to many start-up companies, and has given talks ranging from performance modeling, to C++, to debating exascale memory architectures at Supercomputing. Jonathan's research interests also include online modeling of stream/data-flow parallel systems, streaming architectures, compute near data, accelerators for sparse compute, massively parallel processing, and self-sustaining bio-molecular machines. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com --- *--* ---

12+
21 просмотр
2 года назад
12+
21 просмотр
2 года назад

http://cppnow.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/boostcon/cppnow_presentations_2017 — Almost every commodity compute device from cell phone to server has a heterogeneous multicore processor inside it. To use these complex cores, we must write code that can execute in parallel. Effective use of multicore hardware with today’s tools requires that a programmer know a lot about the hardware. This was feasible with a single core, and two cores, but how about a hundred? What happens with cores that are of different types? How about multiple memory types? How about effectively programming these systems with differing link types for each of these processor-memory combinations? This hardware complexity is not well accommodated by current software models. RaftLib aims to abstract away this complexity to make authoring performant parallel applications in C++ as simple as possible, while giving the experienced programmer the control they desire without the boiler-plate code that often comes with lower-level APIs. It utilizes the familiar semantics of stream operators to link multiple parallel actors into a parallel, streaming application. RaftLib is built as a C++ template library, enabling programmers to utilize the robust C++ standard library along with RaftLib’s parallelization framework. RaftLib enables a programmer to write C++ code that will execute in multiple processes, multiple threads, user space threads, on distributed nodes, and with optional extensions, on accelerators without learning dozens of complex interfaces. This session covers the pitfalls of programming parallel hardware, offers RaftLib as a solution, and we'll walk programmers through how to use it effectively. — Jonathan Beard received a BS (Biology) and BA (International Studies) in 2005 from the Louisiana State University, MS (Bioinformatics) in 2010 from The Johns Hopkins University, and a PhD in Computer Science from Washington University in St. Louis in 2015. Jonathan served as a U.S. Army Officer from 2005 through July 2010 where he served in roles ranging from medical administrator, to Aide-de-Camp, to acting director of the medical informatics department for the U.S. Army in Europe. Jonathan is currently a computer architecture researcher focusing on next generation architectures for Big Data beyond exascale. Jonathan also has served as a technical advisor to many start-up companies, and has given talks ranging from performance modeling, to C++, to debating exascale memory architectures at Supercomputing. Jonathan's research interests also include online modeling of stream/data-flow parallel systems, streaming architectures, compute near data, accelerators for sparse compute, massively parallel processing, and self-sustaining bio-molecular machines. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com --- *--* ---

, чтобы оставлять комментарии