Vulkan Viewport and macOS silicon ?

   5635   45   7
User Avatar
Member
166 posts
Joined: May 2021
Offline
drew
choose your hardware and OS to support your software

In my "Industry" we do not have that luxury. It is standard to use a literate programming language closer to the math and plain language such as Julia and compile to the specific platform.

The "Software" should handle this abstraction. Apple platforms performance is so students can learn, other researchers can on-board, and scientific systems can be crafted for immediate implementation using physics-based learning.

I think that there is a really big blind spot in understanding that Houdini is used in vital and mission critical systems design scenarios of which push the boundaries of computation. One application with the new rigging system is applied medical animation research.

Like I posted earlier from Steve Jobs:

Steve Jobs Interview 1981
https://www.youtube.com/watch?v=DbfejwP1d3c&t=496s [www.youtube.com]

" -- Interviewer asks -- "
Is there any basis for comparing you to say Mattel and Atari, or is that like comparing Apples to Oranges?
""

" -- Steve Jobs -- "
We describe our business as making tools not toys....other people are interested in an entertainment value, which is valuable of course too, but that is not our business.
""
Edited by PHENOMDESIGN - July 17, 2024 23:30:32
PHENOM(enological) DESIGN;
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
User Avatar
Member
120 posts
Joined: July 2005
Offline
Why don't you have the luxury? It would make no difference if Houdini was written in Julia. You'd still have all the same problems having the software running optimally on all the platforms. In fact Julia being so immature you'd have a vast number of far more mundane problems as well. Don't underestimate the difficulty of writing large software systems, in practice pushing the bounds of computation is insanely hard. Even with Julia on a Mac It's taken 27 years for Houdini to arrive at it's current sophistication. And the devs don't have a blind spot, it's your job to adapt the (incredibly flexible) tool to your use. Most current systems "pushing the bounds of computation" are developed in fortran and C/C++, sometimes scripted from python. I.e. just like Houdini and AI training. But I'd also note that pushing the bounds of computation is not the same thing as building complex DCC tools like Houdini.

PHENOMDESIGN
drew
choose your hardware and OS to support your software

In my "Industry" we do not have that luxury. It is standard to use a literate programming language closer to the math and plain language such as Julia and compile to the specific platform.

The "Software" should handle this abstraction. Apple platforms performance is so students can learn, other researchers can on-board, and scientific systems can be crafted for immediate implementation using physics-based learning.

I think that there is a really big blind spot in understanding that Houdini is used in vital and mission critical systems design scenarios of which push the boundaries of computation. One application with the new rigging system is applied medical animation research.

Like I posted earlier from Steve Jobs:

Steve Jobs Interview 1981
https://www.youtube.com/watch?v=DbfejwP1d3c&t=496s [www.youtube.com]

" -- Interviewer asks -- "
Is there any basis for comparing you to say Mattel and Atari, or is that like comparing Apples to Oranges?
""

" -- Steve Jobs -- "
We describe our business as making tools not toys....other people are interested in an entertainment value, which is valuable of course too, but that is not our business.
""
User Avatar
Member
166 posts
Joined: May 2021
Offline
First, Houdini is amazing. Full stop. Second, this luxury is not shared by the vast amount of people I work with: University Students and Health Researchers. I apply graphics research to scientific contexts. I am lucky enough to have funds in the past to get an Nvidia GPU in order to do physics simulations for the NSF. Specifically, VDBs are the innovation that allowed for the science to be computable at all.

This is highlighted by this talk where the HP team uses Houdini as a Computational Design Engine to process millions of holes in a mesh for manufacturing with VDB:

Houdini starting at Timestamp: 12min
Computational Disruption: Design Engines & Additive’s Untapped Potential -Nathan Shirley - CDFAM 23 [www.youtube.com]

It is very likely that Houdini becomes an educational tool not only a "DCC". Which in my opinion would be an enlightenment.
It seems to be that SideFx shares this ambition with all the HoudiniEDU and recent conference at Breda University of Applied Sciences.

Everything Procedural Conference | Houdini Connect [vimeo.com]

Houdini is sophisitcated but also boarderline unusable. The bloat is incredible and the experience is not good for people new. This is very important when creating large scale collaborative science. In all the applied projects I have done in the past year, none of 6 PhD students could on-board.

At the same time, there are so many hidden gems and graphics history in it. I look forward a semantic search and a notebook environment that I am developing so that we can formalize the shared knowledge and apply it.

Julia is a jit compiled language with a C API that uses LLVM to compile to machine code. At CERN, they wrap fortran in Julia. That is one of the first applications of Julia was to update Fortran code bases at large National Labs and NASA.

Another big aspect to Julia is Autodifferentiation and Symbolic Computing.

Julia is "new" not immature. It has been tested in large critical deployments on all systems.
Julia is primarily not "Corporate" technology since MIT maintains most of it.

The point of Julia is that the "implementation machine code" is abstracted so that peole can focus on sematic ways of making.
I am not going to then tell a student to go buy a new computer to learn. That is un-ethical.

My job is to make sure I scout and provide the best technology and design services so that medical practicitoners can save lives. I see the potential to save many lives with the work that could be done with Houdini.

Right now, it is just as likely that I just bybass Houdini for a custom tool I develoop but then I have a lot of technical debt that will now have to be funded to develop. I would much rather get the basic functionality on MacOS that is core to the new experiences with 20.5 and I can build more complex on that.

I also asked earlier if I could build a Metal renderer using the OpenGL python panel render example and a scene grpah and no insights were given. I know you can multithread using the viewer refresh rate etc.

I undertand DCC tools are tough. I am trying to highlight the importance and the implications that are being realized with MacOS not being supported. Metal is new and Apple recently introducted their raytracing so I understand. Vulkan is a new technology for an old technology pradigm.

Here goes over KernelAbstractions.jl and ShaderAbstractions.jl and that Vulkan is not really being developed for:
Vulkan + Julia [www.youtube.com]

But beyond all that, USD, Hydra and Material X is now natively supported on Apple platforms. Pixar and Apple has always been closely tied with Job's investment early after leaving Apple. Yet, this integration brings both of these visionary companies together as a new 3D computing paradigm.

Slang-LLVM may be an option for multiplatform targets: https://github.com/shader-slang/slang/tree/master/source/slang-llvm [github.com]

drew
Why don't you have the luxury? It would make no difference if Houdini was written in Julia. You'd still have all the same problems having the software running optimally on all the platforms. In fact Julia being so immature you'd have a vast number of far more mundane problems as well.

Don't underestimate the difficulty of writing large software systems, in practice pushing the bounds of computation is insanely hard. Even with Julia on a Mac It's taken 27 years for Houdini to arrive at it's current sophistication. And the devs don't have a blind spot, it's your job to adapt the (incredibly flexible) tool to your use. Most current systems "pushing the bounds of computation" are developed in fortran and C/C++, sometimes scripted from python. I.e. just like Houdini and AI training. But I'd also note that pushing the bounds of computation is not the same thing as building complex DCC tools like Houdini.
Edited by PHENOMDESIGN - July 18, 2024 13:35:01
PHENOM(enological) DESIGN;
Experimental phenomenology (study of experience) is a category of philosophy evidencing intentional variations of subjective human experiencing where both the independent and dependent variable are phenomenological. Lundh 2020
User Avatar
Member
119 posts
Joined: Aug. 2018
Offline
Houdini performances on Mac Studio Ultra M2 sut here https://www.youtube.com/watch?v=vhLa93qs7sU [www.youtube.com]

I have the same issues with packed primitives with textures, crowd with textures since version 20 and no answers

The only way for me to make all these things to work is to disable textures, event for Copernicus, it's a shame !!!!!!!!!!!!
- David
User Avatar
Staff
5198 posts
Joined: July 2005
Offline
drew
I'm sorry but wouldn't it be reasonable to expect one of the largest and richest companies in the world to have rock solid support for industry standard graphics APIs? Consider bringing this up with your Apple representative. In the meantime choose your hardware and OS to support your software.

It definitely would be nice if Apple supported Vulkan, but they have their own roadmap and it doesn't appear to include it. From what I gather, they do contribute to the MoltenVK project, so that definitely gives it an air of legitimacy.

raincole
Yeah an industry standard that Blender Foundation, SideFX and most AAA game devs all struggle to build stable products with.

Apple was right to design a next-gen graphic API that isn't super low level, which is Metal. "The industry" was wrong. By the way Metal came first and Vulkan was created as a response against Metal.

Metal and Vulkan were designed for two different purposes. Vulkan is designed to support the gamut of GPUs from high-end desktop monster cards to lowly mobile GPUs. That requires a lot more API. Metal just supports Apple's GPUs so it can be much more high level. I don't actually mind the Vulkan API, once it's nicely wrapped up (in our case, with the RV library). It offers a lot of flexibility for optimization. Of course you pay for that a bit in complexity, but the notion that Vulkan is "hard" or not accepted by the industry I think is a bit off. It's just like anything -- if you have decades of OpenGL or DirectX experience, learning a different API is going to be a bit of a learning curve. I'm happy to say we're over that here

What our main difficulty was in porting is the sheer amount of stuff in the viewport - all the different prim types, draw modes, picking, snapping, material types, etc. Along the way we also upgraded quite a bit. I wouldn't say Vulkan was at fault here; I suspect if we'd ported to Metal instead it'd be a similar process. At least we're set up a lot better for any future ports.
User Avatar
Member
373 posts
Joined: June 2023
Offline
malexander
Metal and Vulkan were designed for two different purposes. Vulkan is designed to support the gamut of GPUs from high-end desktop monster cards to lowly mobile GPUs. That requires a lot more API. Metal just supports Apple's GPUs so it can be much more high level. I don't actually mind the Vulkan API, once it's nicely wrapped up (in our case, with the RV library). It offers a lot of flexibility for optimization. Of course you pay for that a bit in complexity, but the notion that Vulkan is "hard" or not accepted by the industry I think is a bit off. It's just like anything -- if you have decades of OpenGL or DirectX experience, learning a different API is going to be a bit of a learning curve. I'm happy to say we're over that here

What our main difficulty was in porting is the sheer amount of stuff in the viewport - all the different prim types, draw modes, picking, snapping, material types, etc. Along the way we also upgraded quite a bit. I wouldn't say Vulkan was at fault here; I suspect if we'd ported to Metal instead it'd be a similar process. At least we're set up a lot better for any future ports.

That would be cool and all if H20.5 Vulkan weren't a significant performance downgrade from OpenGL viewport.
  • Quick Links