No announcement yet.

NVIDIA Open-Sources TensorRT Library Components

  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by betam4x View Post

    For the same reason why OpenGL/Vulkan isn't as widespread in use as DirectX: DirectX, Cuda, and the like have actual dollars thrown at them to support continual development. While I haven't used CUDA (I haven't had the desire to learn it), it is likely a superior API to OpenCL and since NVIDIA owns the GPU and GPU Compute segments, it makes more sense to use an API that has the support of the GPU Vendor vs no support at all. If you use OpenCL and find a bug in the API, who do you turn to? Khronos Group will likely defer you to the GPU Vendor, the GPU Vendor will likely ignore you or refer you back to Khronos.

    OpenGL was/is bad because it allows for vendor specific extensions. This means NVIDIA can effectively implement their own API that is incompatible with AMD/ATI. DirectX has a standard API you have to use. If you wanted to add extensions, you have to talk to Microsoft, and they will create a reference implementation for you and competitors to follow. NVIDIA STILL tried to work around this by implementing Gameworks, which is a software library, optimized for NVIDIA GPUs, and is intentionally NOT optimized for competitors. They then PAID developers to use it to cripple the competition.

    Vulkan has continued this trend. The only advantage/strength of Vulkan and OpenGL is cross platform compatibility. People who claim the API is superior are wrong. Khronos doesn't have the clout to dictate a standard API like Microsoft does. The Linux community could have done it, but IMHO it is far too late for that. Even Apple has clamped down on it's 3D API. They now dictate the use of their own API for everything, which pretty much killed the use of NVIDIA GPUs on the latest version of the MacOS. They can get away with this because they own 10% of the personal/professional computing market, and a large percentage of the mobile market. Khronos has no devices and therefore no marketshare. Their APIs are merely a suggestion.
    If you rely on vendor extensions to write your code, you either opt into supporting only one vendor, or your code is crap. You don't need to use vendor specific extensions to write OpenGL or Vulkan, and these are just attempts to ruin the API by the likes of Nvidia. If you have enough weight, you can directly ask vendors to implement a specific extension, this happened even in the 90s when id required some extensions from vendors for Quake 3 Arena.

    I refuse to support proprietary APIs without a spec that run on only one platform, and I tend to refer to the spec whenever possible, unless it's been written by a greedy institution like IEEE, ISO, or ANSI. At least Ecma makes their specs public, which is how it should be.