@article{MTMT:2081227, title = {High-level Multicore Programming with C++11}, url = {https://m2.mtmt.hu/api/publication/2081227}, author = {Szűgyi, Zalán and Török, Márk and Pataki, Norbert and Kozsik, Tamás}, doi = {10.2298/CSIS111231027S}, journal-iso = {COMPUT SCI INF SYST}, journal = {COMPUTER SCIENCE AND INFORMATION SYSTEMS}, volume = {9}, unique-id = {2081227}, issn = {1820-0214}, abstract = {Nowadays, one of the most important challenges in programming is the efficient usage of multicore processors. All modern programming languages support multicore programming at native or library level. C++11, the next standard of the C++ programming language, also supports multithreading at a low level. In this paper we argue for some extensions of the C++ Standard Template Library based on the features of C++11. These extensions enhance the standard library to be more powerful in the multicore realm. Our approach is based on functors and lambda expressions, which are major extensions in the language. We contribute three case studies: how to efficiently compose functors in pipelines, how to evaluate boolean operators in parallel, and how to efficiently accumulate over associative functors.}, year = {2012}, eissn = {1820-0214}, pages = {1187-1202}, orcid-numbers = {Pataki, Norbert/0000-0002-7519-3367; Kozsik, Tamás/0000-0003-4484-9172} } @article{MTMT:1995768, title = {Generative version of the Fastflow multicore library}, url = {https://m2.mtmt.hu/api/publication/1995768}, author = {Szűgyi, Zalán and Pataki, Norbert}, doi = {10.1016/j.entcs.2011.11.039}, journal-iso = {ELECTR NOTES COMPUT SCI}, journal = {ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE}, volume = {279}, unique-id = {1995768}, issn = {1571-0661}, abstract = {Nowadays, one of the most important challenges in programming is the efficient usage of multicore processors. Many new programming languages and libraries support multicore programming. FastFlow is one of the most promising multicore C++ libraries. Unfortunately, a design problem occurs in the library. One of the most important methods is pure virtual function in a base class. This method supports the communication between different threads. Although, it cannot be template function because of the virtuality, hence, the threads pass and take argument as a void* pointer. The base class is not template neither. This is not typesafe approach. We make the library more efficient and safer with the help of generative technologies. © 2011 Elsevier B.V. All rights reserved.}, keywords = {LIBRARIES; TEMPLATE; High level languages; C++; Multi-core processor; Multi core; Generative technologies; multicore programming; Virtual functions; Template functions; Design problems; C++ libraries; Base class; FastFlow}, year = {2011}, pages = {73-84}, orcid-numbers = {Pataki, Norbert/0000-0002-7519-3367} }