Table of Contents
Get Involved
Would you like to be part of our team and work with PolyHok and metaprogramming-enabled DSLs? We are always happy to welcome students, researchers, and developers interested in programming languages, parallel computing, compilers, and heterogeneous architectures!
Whether you are interested in low-level hardware backends, language design, or benchmarking, there is plenty of room for you to experiment and contribute!
Where Can You Contribute?
There are many directions in which PolyHok can grow. Here are some areas where we would love to see new ideas and contributions:
Project Ideas to Inspire You
Not sure where to start? Here are some open challenges that could become research projects, thesis, or contributions to the PolyHok ecosystem.
⚙️ Backend & Hardware Expansion
Help take PolyHok beyond its current hardware ecosystem and explore new ways of executing PolyHok programs.
🧩 Language Features & Expressiveness
Help us push the boundaries of what can be expressed inside a PolyHok kernel.
- Advanced Data Structures: Add native support for tuples and arrays of tuples, enabling richer data representations inside PolyHok kernels.
- Nesting Kernels: Investigate kernel nesting, allowing a PolyHok kernel to dynamically launch other kernels during execution.
📊 Benchmarking & Advanced Abstractions
Help us understand where PolyHok fits within the broader ecosystem of parallel programming languages and abstractions.
- Comparative Analysis: Benchmark PolyHok against similar DSLs and programming languages such as Futhark and Accelerate, investigating differences in performance, expressiveness, and programming effort.
- Halide-Inspired Abstractions: Investigate how ideas from Halide, particularly its approach to scheduling operations, could be adapted to the PolyHok programming model.
- Tile-Based Programming: Explore concepts from TileLang and investigate how tile-based reasoning could be incorporated into PolyHok.
About Us
PolyHok is a project from the Laboratory of Ubiquitous and Parallel Systems (LUPS) at Universidade Federal de Pelotas (UFPel). Visit the LUPS website to know more about our amazing community and projects!
