TY - JOUR AU - Szűgyi, Zalán AU - Török, Márk AU - Pataki, Norbert AU - Kozsik, Tamás TI - High-level Multicore Programming with C++11 JF - COMPUTER SCIENCE AND INFORMATION SYSTEMS J2 - COMPUT SCI INF SYST VL - 9 PY - 2012 IS - 3 SP - 1187 EP - 1202 PG - 16 SN - 1820-0214 DO - 10.2298/CSIS111231027S UR - https://m2.mtmt.hu/api/publication/2081227 ID - 2081227 AB - 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. LA - English DB - MTMT ER - TY - JOUR AU - Szűgyi, Zalán AU - Pataki, Norbert TI - Generative version of the Fastflow multicore library JF - ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE J2 - ELECTR NOTES COMPUT SCI VL - 279 PY - 2011 IS - 3 SP - 73 EP - 84 PG - 12 SN - 1571-0661 DO - 10.1016/j.entcs.2011.11.039 UR - https://m2.mtmt.hu/api/publication/1995768 ID - 1995768 AB - 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. LA - English DB - MTMT ER -