The LLVM Compiler and Code Generation Social is a meetup to discuss compilation and code generation topics, with a special focus on LLVM, clang, Polly, and related projects. If you are interested in generating code for a variety of architectures, (static) program analyses for real world C/C++/OpenCL/CUDA programs, building your own programming language, register allocation and instruction selection, software hardening techniques, have an idea for a great optimization, or want to target GPUs or FPGA, .... This event is for you!
Our primary focus are free discussions between interested people (+ beer and food). This is a great opportunity to get and discuss project ideas or to just learn about what people at ETH and around Zurich are doing.
Tech Talk "LIBXSMM: Low-Level Just-in-Time (JIT) In-Memory Code Generation" by Hans Pabst
LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications (SMM) as well as for deep learning primitives such as small convolutions (DNN) targeting Intel Architecture. The highly optimized code leverages an innovative Just-In-Time in-memory code generation, which is based on a machine model rather than blind auto-tuning. The talk will not only shed some light on LIBXSMM's code generation, but also highlight optimizations targeting Intel AVX-512 as well as general advantages of the JIT-code generation. Further, the SMM code is serviced by a code registry, which can quickly dispatch generated code automatically.
Hans Pabst is an application engineer mainly enabling open source scientific applications to take advantage of current and future hardware. Hans is working in Intel's High Performance and Throughput Computing (HPC) team focusing on scientific computing and parallel algorithms research, code optimizations, and hardware-software co-design.
Please register to help us plan attendence.
We aim to arrange a meetup the second Thursday of a months
The building closes at 19:00. If you are late, you need to call us to be let in. (We send out the number before the meeting).
What is LLVM?
LLVM is an open source project that provides a collection of modular compiler and toolchain technologies. It is centered around a modern SSA-based compiler around which an entire ecosystem of compiler technology was developed. Most well know is the clang C++ compiler, which is e.g. used to deploy iOS. Beyond this a diverse set of projects is developed under the umbrella of LLVM. These include code generators and assemblers for various interesting architectures, a jit compiler, a debugger, run-time libraries (C++ Standard Library, OpenMP, Opencl library), program sanity checkers, and many more. LLVM has itself grown out of a research project more than 10 years ago and is the base of many exciting research projects today: