GENERAL PURPOSE PROGRAMMING PYTHON
Keywords:
C code. Index Terms— programming model, parallel programming, distributed computing, multiprocessing, Python, HPC, OpenMP.Abstract
Parallel programming can be extremely challenging. Programming models have been proposed to simplify this task, but wide acceptance of these remains elusive for many reasons, including the demand for greater accessibility and productivity. In this paper, we introduce a parallel programming model and framework called CharmPy, based on the Python language. CharmPy builds on Charm++, and runs on top of its C++ runtime. It presents several unique features in the form of a simplified model and API, increased flexibility, and the ability to write everything in Python. CharmPy is a high-level model based on the paradigm of distributed migratable objects.
References
J. Diaz-Montes, C. Munoz Caro, and A. Ni ˜ no, “A Survey of Parallel ˜ Programming Models and Tools in the Multi and Many-Core Era,” IEEE Transactions on Parallel and Distributed Systems, vol. 23, pp. 1369– 1386, 2012.
B. Chamberlain, D. Callahan, and H. Zima, “Parallel Programmability and the Chapel Language,” The International Journal of High Performance Computing Applications, vol. 21, no. 3, pp. 291–312, 2007.
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar, “X10: An Object-oriented Approach to Non-uniform Cluster Computing,” in Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming,
Systems, Languages, and Applications, ser. OOPSLA ’05. New York, NY, USA: ACM, 2005, pp. 519–538.
W. W. Carlson, J. M. Draper, D. E. Culler, K. Yelick, E. Brooks, and K. Warren, “Introduction to UPC and language specification,” Tech. Rep., 1999, CCS-TR-99-157.
M. Bauer, S. Treichler, E. Slaughter, and A. Aiken, “Legion: Expressing Locality and Independence with Logical Regions,” in Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, ser. SC ’12. Los Alamitos, CA, USA: IEEE Computer Society Press, 2012.
H. Kaiser, T. Heller, B. Adelstein-Lelbach, A. Serio, and D. Fey, “HPX: A Task Based Programming Model in a Global Address Space,” in Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models, ser. PGAS ’14. ACM, 2014.
B. Acun, A. Gupta, N. Jain, A. Langer, H. Menon, E. Mikida, X. Ni, M. Robson, Y. Sun, E. Totoni, L. Wesolowski, and L. Kale, “Parallel Programming with Migratable Objects: Charm++ in Practice,” ser. SC, 2014.
