Originally posted by Stefem
View Post
Announcement
Collapse
No announcement yet.
NVIDIA Opens Up The Code To StyleGAN - Create Your Own AI Family Portraits
Collapse
X
-
-
Originally posted by Weasel View PostBasically, what you're trying to say is, it weeds out trash developers who think they are good because they "make super simple code" with a million branches everywhere so that any moron can understand. It's somewhat closer to actual hardware implementations, so of course it's harder for those simpletons.
Comment
-
Originally posted by Stefem View PostI'm not sure I correctly understand what you said, that's my fault of course.
The number one enemy of auto-parallelization are branches and different code paths. Stuff like conditional if statements, if you don't know what that is.
However, most devs which preach writing "simple, clean code" for uneducated monkeys and other bullshit like that (reminder: that's an opinion, for example for someone in hardware design, branchless code is very clean), love polluting it with branches upon branches upon branches for "simplicity" and to keep the code "clean" and "readable" and "maintainable" and other retarded asspull words (which are not measurable and have zero scientific basis, you just have to either go along with it or disagree, you can't argue about it with facts).
Meanwhile if you want to write efficient parallelizable code, or GPU code, you have to use a different mindset and use some actual brain instead of writing "simple code" for monkeys. You have to use masks and think of signal flow instead of placing branches everywhere. This is also how hardware gets designed, but of course it gets designed in specialized languages. It's still much closer than code with branches. Hardware is by definition branchless.
- Likes 1
Comment
-
Originally posted by Weasel View PostI'll try to summarize.
The number one enemy of auto-parallelization are branches and different code paths. Stuff like conditional if statements, if you don't know what that is.
However, most devs which preach writing "simple, clean code" for uneducated monkeys and other bullshit like that (reminder: that's an opinion, for example for someone in hardware design, branchless code is very clean), love polluting it with branches upon branches upon branches for "simplicity" and to keep the code "clean" and "readable" and "maintainable" and other retarded asspull words (which are not measurable and have zero scientific basis, you just have to either go along with it or disagree, you can't argue about it with facts).
Meanwhile if you want to write efficient parallelizable code, or GPU code, you have to use a different mindset and use some actual brain instead of writing "simple code" for monkeys. You have to use masks and think of signal flow instead of placing branches everywhere. This is also how hardware gets designed, but of course it gets designed in specialized languages. It's still much closer than code with branches. Hardware is by definition branchless.
Comment
Comment