10-13 July 2017
Princeton University
US/Eastern timezone

Language Interoperability

13 Jul 2017, 13:30
1h 30m
407 Jadwin Hall (Princeton University)

407 Jadwin Hall

Princeton University

Princeton Center For Theoretical Science (PCTS)


Jim Pivarski (Princeton University)


Getting data out of one language/framework and into another, mostly Python <--> C++ and Java <--> C++ or Python.

Advanced Numpy tricks for writing into arrays in C++ libraries, into other processes via shared memory, allocating Numpy (and using Python) in NUMA environments, particularly KNL and GPU.

Java to C++/CPython hooks: JNI, JNA, off-heap memory.

On the fly compilation, which often factors into the above.

Will assume familiarity with C/C++, Python, and Java. Since it's an overview of many similar topics, rather than a deep dive into any one of them, students will benefit if they only have familiarity and interest in two of the three languages.

Presentation Materials