Skip to content

Conversation

@gbaraldi
Copy link
Member

@gbaraldi gbaraldi commented Jan 14, 2025

This doesn't switch or implement the new logic fully but I'm already opening for some comments if people have opinions.
The design is a bit more C++isy (this means removing c++ from the runtime is further away) and potentially less space efficient than the previous one (Not that it's very relevant).

The design switches to a clone targets logic that serializes a string like
cpu_name1;+feature1, +feature2; 0: cpu_name2; +feature3, +feature4; 0
This gets rid of the nice bitset logic that we have but hopefully LLVM can replace most of it

  • CPU name based parsing
  • Target choosing logic (This matches by number of features currently, do we want something nicer?)
  • Extra feature parsing (dependency detection)
  • Cloning logic
  • Adapt LLVM pass
  • Extra targets (AMDGPU?)
  • C api for LLVM.jl and relateds to use (just wrap jl_get_llvm_features)
  • Delete old code

… detection mechanism

This only implements the parsing and serialization for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants