Targeting unknown systems/targets. #7640
-
Hi fellow Halidians, we have a problem to tackle hopefully it's clear what I want to do. Our context: we are developing an Adobe illustrator plugin. For some compute intensive features we decided to use Halide. It is magicly fast and furious, making the impossible, possible. Our problem: when deploying our build plugin (.aip file) from the dev system(win10) to another system (win10 or 11) the halide parts refuse duty. As for now it looks like pipes with parallel and vectorizing are most problematic. Our (not a) solution(for now): We rebuild the halide pipes on the other systems and after a rebuild of the Illustrator Plugin everything works great again... but you can see the real bottleneck here... when the day comes to release our plugin to 'unknown' targets/systems this workflow is obviously not the way to go as this is 1: practically impossible and 2: it's just not known what kind of system the client will run his Illustrator on. The question: what is the typical kind of workflow or build setup, so we can counter this problem of unknown client systems and targets? Do we build several version of the halide pipes? Run a check on the client system and run the right pipeline? Dono... Our project really will stand or fall depending on how Halide is flexible in this way. Any hint or tip or whatever to get us going would be more than welcome. Thx in advance! Doubl3MD |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
Update: I've suspected the vectorisation features. Are there pitfalls or others things I should keep in mind to make sure our Illustrator Plugin keeps working on unknown systems/targets? Thx again advance for extra info on this topic! |
Beta Was this translation helpful? Give feedback.
-
Search for 'multi target' with Halide for more info on this. Halide supports runtime dynamic dispatch based on target capability (in this case SIMD family). In short:
|
Beta Was this translation helpful? Give feedback.
-
Although that generator system I'm not sure how to use it in windows... This information helped a lot already. Thx! |
Beta Was this translation helpful? Give feedback.
Search for 'multi target' with Halide for more info on this. Halide supports runtime dynamic dispatch based on target capability (in this case SIMD family).
In short: