User Tools

Site Tools


get-involved

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!

🚀 Interested in contributing?
Tell us about yourself, your interests, and what you would like to explore.
✉ Get in Touch

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:

⚙️
Backends & Hardware
Extend PolyHok to new architectures and devices.
🧩
Language Design
Make the DSL more expressive and powerful.
📊
Research & Benchmarking
Explore new abstractions and evaluate their performance.

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.

  • HIP Integration: Implement a HIP backend for PolyHok, expanding its support to the modern ROCm ecosystem.
  • Mobile Computing: Investigate a Vulkan backend for PolyHok, exploring how the DSL could bring high-level GPU programming abstractions to mobile and other Vulkan-capable devices.

🧩 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.

💡 Have an idea of your own?
That's even better! Tell us what you would like to build, investigate, or experiment with.
✉ Message us!

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!

get-involved.txt · Last modified: by henrique.grdr