Hello!
I've gained a huge interest in HVM2 and HVM3 which is able to fully parallelise any functional code. It is still fairly young tech but it is very promising.
I wonder weather you know about it and maybe even have some plans to targeting it in the future.
Thanks :)
I think Bend and HVM has come up before, but only lightly.
No plans to target it. I'm not sure it would make sense given how roc compiles with platforms and applications.
But I ultimately don't know much about it.
I follow Victor Taelin on x, I'm very interested in the AI applications of the function generation he's working on :)
Do you also wonder why they got a lot of Mac minis? I do sometimes, I mean, there could have been other/better alternatives????
He explained it here :)
Oh thanks will do with some explanation really.
What about MLIR? If I may ask.
@Brendan Hansknecht probably knows all about that
Anton said:
He explained it here :)
Great, but even in his explanation he acknowledged an M3 will improve efficiency by about 30%
Perhaps, cost and efficiency as he says, not just efficiency.
Indeed, efficiency results in lower cost due to lower power consumption.
Dries Frederickx said:
What about MLIR? If I may ask.
What's the actual question?
or I guess context
What's the actual question?
Targeting MLIR for the Roc compiler I suppose
@Brendan Hansknecht If Roc could potentially act as an MLIR frontend/dialect.
Hmm....
I would not expect this to go well for the most part.
MLIR is written mostly in table gen and c++. It also generates a ton of c++. So you would be interfacing roc with that mess.
I know that mlir has a C api for generating nodes. That could be reasonable to interact with via Roc. So you could define an mlir compiler backend and then generate the mlir graph from roc. This would be the same as generating an mlir graph from python.
Of course mlir could be used to write roc compiler, but that is a fundamentally different question.
I don't think it would be reasonable to use roc to generate mlir dialects and passes. I think mlir is way too ingrained in c++ and simply making an interface for that would be way to complex. On top of that, you would also need a solution for the giant amount of generating c++ code that would require interaction.
With care and significant orchestration, maybe you could use table gen to define mlir dialects and roc to define the passes that run on dialects, but it would not be easy.
I see and also many thanks for the answer. This all just got me thinken since the whole Mojo/MAX thing is coming along. But it also got me looking at this "in-concept" project from @alexrp . Whis in my layman eyes seems like a whole clean slate that the MLIR/LLVM project presents. So I am just nudging and seeing what the current scopes are over all of these projects that all look so interesting. Even though it is far above my levels of understanding.
The graf core project, that is.
Last updated: Jun 16 2026 at 16:19 UTC