Session
Exploiting Multicore Capabilities from Python
Rachael Madsen
Track: Python
Date: Thursday, July 26
Time: 1:45pm
- 2:30pm
Location: Portland 256
The increasingly available multicore processors are ideal for compute-intensive tasks such as data compression and advanced mathematical processing. To take full advantage of them, however, requires low-level programming in languages such as C++ and Assembly. This talk will discuss issues with and strategies for multicore exploitation within the framework of a Python supervisory program:
- Data must be managed in a way that allows the lower-level routines to optimize their use of the multithreading capabilities while taking Python data structure constraints into acccount.
- The Python data and program flow must be structured such that the MP routines and the Python synchronize properly.
- Underlying issues of thread definition and design must be understood. Any libraries used must be thread-safe.
- Cache management must be addressed for full optimization.
This program is being implemented to take advantage of an Intel "Kentsfield" (quad-core, 65 nm) processor system running Windows Vista; however, the talk will cover how to adapt the Vista routines to be implemented under Linux using OpenMP or PThreads.
When possible, for simplicity and supportability of the code, all interface with the quad-core will use the Operating System's thread management routines. Any functions that require features available on the quad-core not available through the interface will use PThreads or Open MP threading primaries.
The SSE3 and SSSE3 instruction sets will be used for the implementation of the low-level routines.





















