Hi all, Our next Research IT Reading Group topic will be: HPC optimization and auto-tuning for Python code w/SEJITS
When: Thursday, October 9th from noon - 1pm Where: 200C Warren Hall, 2195 Hearst St (see building access instructions below). The presentation and discussion will be facilitated by Chick Markley, Staff Programmer for the Aspire Lab <https://aspire.eecs.berkeley.edu/> in EECS. Chick writes: “If you write code in the high-level language Python, or wish that you could instead of writing in a low-level language like C/Fortran/OpenCL by hand, then SEJITS is an option that allows you to take advantage of high performance hardware such as GPUs and MICs by allowing you to write specialized kernels in Python that bridge that gap. Our framework provides tools to generate code at runtime, transparent to the user, with autotuning that specifically targets the application and the hardware environment. We are looking for use cases with Python applications and domain experts that might benefit from SEJITS specializers.” Here's the background material for review prior to our meeting: ⇒ SEJITS (Selected Embedded Just-In-Time Specialization) implements software patterns associated with computational or energy intensive algorithms (see Berkeley software motifs <http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-23.pdf>). These specializers exploit run-time information and auto-tuning to generate low level code that achieves near maximal performance in this domain. ⇒ SEJITS was developed by the AspireLab, formerly ParLab, with large contributions from Shoaib Kamal, originally at ParLab and now at MIT. The main paper describing this work is here <http://www.eecs.berkeley.edu/~krste/papers/SEJITS-pmea2009.pdf>. --- More details are available on the main website at: sejits.org All of the code is open source and available on github.com/ucb-sejits The core code is CTree <https://github.com/ucb-sejits/ctree>, A framework for writing SEJITS specializers Also on the website is a collection of specializers for applications, the most mature specializers are for stencil code <https://github.com/ucb-sejits/stencil_code> and also hindemith (development branch) <https://github.com/ucb-sejits/hindemith/tree/development> which is collection of linear algebra specializers optimized for optical flow applications. --- Warren Hall access: For those who do not have keycard access to the building, please take the elevator to the second floor (stairwell door requires keycard). Before noon, let the receptionist know you're joining the Reading Group in 200C and s/he will let you in and show you the way. After noon, look for a sign next to the (closed) receptionist window to the right as you exit the elevators. We'll post a note with a phone number that you can call or text, and someone will come out to open the locked doors. Cheers, Camille
