PDG Master class posted

   2413   8   3
User Avatar
Member
544 posts
Joined: Sept. 2012
Offline
https://www.sidefx.com/tutorials/pdg-core-concepts/#comment-4380 [www.sidefx.com]

The first of several to come. Next planned ones are:

Schedulers:

A) How to deploy with Tractor
B) How to deploy with Deadline
C) How to deploy with HQueue
D) How to write your own binding

API

- A deep dive on the PDG API.

Please let us what further questions / topics we could address beyond those above.
- Ken Xu
User Avatar
Member
188 posts
Joined: March 2011
Online
Yeahh, will be nice to know more about the API and why there are some differences from hou, like, why something like self.evalParm must be different in PDG.
User Avatar
Member
188 posts
Joined: March 2011
Online
kenxu
https://www.sidefx.com/tutorials/pdg-core-concepts/#comment-4380 [www.sidefx.com]

The first of several to come. Next planned ones are:

Schedulers:

A) How to deploy with Tractor
B) How to deploy with Deadline
C) How to deploy with HQueue
D) How to write your own binding

API

- A deep dive on the PDG API.

Please let us what further questions / topics we could address beyond those above.

Ken, I watched your masterclass (thanks, BTW), but I think there still room to talk more about mappers and where to use them. I still don´t understand why the attributes are lost when there is a mapper in the middle…
Edited by guilhermecasagrandi - July 20, 2019 14:49:24
User Avatar
Member
159 posts
Joined: Feb. 2018
Offline
Thanks, Ken,
Great to know the HDA Processor Pole is available in the local scheduler node, also I notice in the daily build 17.5.322, there's a checker named “Use HDA Pole” in the local scheduler node, and every time I turn on the checker and cook the graph, the error info pops up
TPipe:: open ::CreateFile errored GLE=errno = 2
So shall I turn on the “Use HDA Pole” if I want to use the HDA Processor Pole feature?
Thank you.
Edited by EricSheng - July 21, 2019 02:01:51
User Avatar
Member
200 posts
Joined: July 2015
Offline
Hey Ken,
thanks for this masterclass. This will help lots of people who want to dig into PDG. I'm also really looking forward to the deep API dive.

Are you looking to cover all the schedulers in one piece? If yes, could you split the
D) How to write your own binding
into a seperate one, since it's very different from all the other ones? If no, could you please consider covering the 3 schedulers in one go in addition a local scheduler section and adding a “What in tarnation is a scheduler” section at the start? Kind of like this

PDG Schedulers
  1. What is a scheduler?
  2. Local Scheduler
  3. Tractor Scheduler
  4. Deadline Scheduler
  5. Hqueue Scheduler

How to write your own scheduler binding


————————

The problem I currently see around the studio however is why they should use it. And how to do stuff efficiently/in a cool way with it.

I see it similarly to Enviob in the comment-section here: https://www.sidefx.com/tutorials/pdg-core-concepts/#comment-4380
Enivob
Dang, that video did not really offer much to demystify, or demonstrate how I would use PDG to make art. After watching this demonstration, I still don't see any point in using PDG.

For instance, PakWak's thumbnail, that you lured us in with. What part of that image is PDG? Did he used PDG to greeble the geometry? Was PDG used to make the clouds?

Can SideFX post some really “WOW” eye candy that is only possible using PDG?

People here want to see things that you've shown broken down with a masterclass/similar.
An example would be this: https://vimeo.com/322113512#t=00:56

For the ultra-geeks (even from other departments) things like this https://vimeo.com/322225534#t=57:50 would be awesome to have a whole tutorial series for (maybe even with someone who does the pytorch part).

————————

On the more dev side of things, another very important one would be how to create your own processors with all its ins/outs. This is very needed as soon as anything custom comes in to play.
That includes, how to spawn python commands. How to spawn shell processes. How to capture their outputs, be it image files, or anything else.

Another HUGE area to cover would be the ‘whole pipeline’ process that PDG can cover. Jeff Wagner repeatedly told me and couple of other TDs/colleagues that PDG can basically be the pipeline for the whole studio. While one can maybe imagine something like this, it's just not really apparent on how to even remotely approach something like this, since there is so few information on how to do all the little steps with PDG. Even after having done quite a bit with PDG so far.
I realise this is really hard to cover and multiple other problems are involved. But I'm trying to
let us what further questions / topics we could address beyond those above.


Thanks a lot Ken. I really appreciate how much you're pushing PDG to go further.
Edited by shadesoforange - July 21, 2019 05:30:09
Manuel Köster - Senior Technical Procedural Artist @Crytek

http://crytek.com/ [crytek.com]
http://shadesoforange.de/ [shadesoforange.de]
https://twitter.com/ShadesOfOrange_ [twitter.com]
User Avatar
Member
814 posts
Joined: Feb. 2016
Offline
This was a very interesting masterclass, and I liked the more technical approach than the tutorials posted at launch.

Like Guilhermecasagrandi said, I'm still a bit confused about mappers, but I guess it's more due the fact that I haven't had the need for them so far, as my PDG workflow is still in its infancy.

Looking forward for deep API Dive master class.

And yes, like Manuel suggested, an applied machine learning master class would be suuuuper interesting.
User Avatar
Member
544 posts
Joined: Sept. 2012
Offline
Thank you everyone for your thoughtful comments and contributions so far. Addressing some of the points above in no particular order:

- Mappers - yes, there will be a more detailed and practical talk around this. We plan to deliver the talk at Siggraph at our Houdini Hive, and record it for distribution shortly after. Will post about it here once it's live. I only had enough time in this first master class to introduce the concept. The short takeway: use mappers to model manual operations. The manual edits made using mappers can persist even as the upstream procedural stuff changes.

- Loss of attributes of workitems being mapped to: because mappers are more of an advanced topic, they are a bit less developed overall and has less of the built-in niceties as compared to partitioners. This will get stronger as we continue to develop. There is an RFE to do add that support.

- HDA processor pooling - As we're still shoring up various aspects of PDG, sometimes we slip up and introduce a regression. We are aware of a problem here. It is fixed on Windows but we're still trying to get to it for Linux.

- More tutorials to cover more use cases - yes we hear you. As mentioned above another one is coming at Sig, and we've got more in the pipe, no pun intended . This thing has such a huge scope that it's a difficult task to just showcase and teach all the areas that it touches. This is made even tougher as we try to balance client support with needed patches in key areas with forward development. We're on it though, and will commit to delivering more material steadily.

- Big thanks for the additional tutorial topic suggestions above. Very good points and we'll take that into consideration as we plan the next tutorials.
Edited by kenxu - July 21, 2019 16:08:47
- Ken Xu
User Avatar
Member
18 posts
Joined: March 2018
Offline
Still have to finish it but thanks so much Ken, it's a great one !
VFX Artist
UNIT Image - Paris
User Avatar
Member
603 posts
Joined: Sept. 2016
Offline
EricSheng
Thanks, Ken,
Great to know the HDA Processor Pole is available in the local scheduler node, also I notice in the daily build 17.5.322, there's a checker named “Use HDA Pole” in the local scheduler node, and every time I turn on the checker and cook the graph, the error info pops up
TPipe:: open ::CreateFile errored GLE=errno = 2
So shall I turn on the “Use HDA Pole” if I want to use the HDA Processor Pole feature?
Thank you.

You can ignore that message, it's expected. Does the cooking still produce the right output?
Edited by chrisgreb - July 23, 2019 09:24:04
  • Quick Links