用 MLIR 實作 一個 Ruby IR (intermediate representation)

By John Lin

議題

用 MLIR 實作 一個 Ruby IR (intermediate representation)

TR614 [[ new Date( '2024-08-03 03:30:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2024-08-03 03:30:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2024-08-03 04:00:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] 中文 Chinese
加入行事曆 加入關注 加入關注 已關注

With the growing importance of JIT(Just-in-time compilation) in Ruby, the importance of Intermediate Representation(IR) also increase. Comparing to AST, a SSA form(static single assignment form) IR is easier to be analyzed and optimized.

mlir-dialect-ruby is a MLIR dialect for Ruby. MLIR stands for Multi-Level Intermediate Representation, a framework develeped by the LLVM community. mlir-dialect-ruby can convert Ruby code into a Ruby specific IR using MLIR. And this IR can be lowered into various targets, including CPU and GPU.

In this talk, we'll introduce the LLVM MLIR (Multi-Level Intermediate Representation). And introduce the mlir-dialect-ruby, which is an IR designed for Ruby.

講者

John Lin

John Lin

Principal Architect at West Pharmaceutical Service. Ruby lover. Full-stack developer. Organizer of Swift Taipei. iOS developer. FP lover.

Ruby Taiwan NJ9MCY general (30mins)