5 ms·
OpenCL is the best damn compute API ever. I'd totally buy and use one of these GPUs if I could!
by pixelpoet 3y ago
OpenCL is the best damn compute API ever. I'd totally buy and use one of these GPUs if I could!
- IshKebab 3y agoReally? I found it to be much worse than CUDA when I tried to use it years ago.
- wubrr 3y agoIn what ways was it better/worse?
- softfalcon 3y agoHaving used both, it is true that CUDA has the "enterprise edge" of being a proprietary, paid for product, backed by an (almost) trillion dollar company. There are features and conveniences in CUDA that aren't present in OpenCL. That being said though, for how little funding, research, and support OpenCL receives, it is an astoundingly capable tool. I don't think it's fair to compare apples and oranges, even if they're clearly both "fruit" with a "high sugar content".
- pjmlp 3y agoIt isn't as if the Intel and AMD enterprises ever managed to produce anything comparable to CUDA tooling.
- seanw444 3y agoNvidia has brand recognition and momentum on their side. It's not that Apple or AMD are incapable.
- pjmlp 3y agoAMD has more than proven its incapability to provide proper OpenCL tooling during the last 10 years. Apple gave up on OpenCL, after disagreements how Khronos managed it. Metal Compute provides a CUDA like development experience.
- softfalcon 3y ago> Apple gave up on OpenCL, after disagreements how Khronos managed it. Ah yes, the old "I can't completely control it, cause I'm Apple, so I'm taking my ball and leaving" ploy. Though, I will admit, AMD was also playing this game at the same time, so a disagreement was bound to happen between them and Apple. > Metal Compute provides a CUDA like development experience. And there it is. Proving my prior statement, Apple didn't want an open compute platform, what they wanted was their own compute platform and it would have "been nice" if they could pretend it was "open" and they "shared" nicely with the other tech kids. Before people come at me as an Apple hater, please know that there are many, many Apple devices in my home. I'm not an Apple hater, but I call it like I see it.
- smallmancontrov 3y agoNVidia's OpenCL was fine, but AMD's OpenCL was an unholy dumpster fire of broken examples, missing error messages, and crashing drivers.
- MaxBarraclough 3y agoI used OpenCL a little in 2015. AMD's implementation seemed pretty good, whereas nVidia's was significantly behind. It didn't support OpenCL 1.2, iirc.
- pjmlp 3y agoWhere was AMD's implementation of Nsight's debugger or VS integration?
- MaxBarraclough 3y agoI'm pretty sure AMD's OpenCL did have both Visual Studio integration, and a decent debugger. I don't know about today.
- pjmlp 3y agoI am pretty sure that AMD only has debugging tools for graphics API and never offered anything beyond printf debugging for OpenCL. And VS integration means intellisense and syntax highlighting as well, not just calling their compiler.
- MaxBarraclough 3y agoAMD CodeXL supported breakpoints in OpenCL kernels, and had Visual Studio integration. It also had an editor for OpenCL C code. [PDF] https://john.cs.olemiss.edu/heroes/papers/AMD_OpenCL_Programming_Guide.pdf https://john.cs.olemiss.edu/heroes/papers/AMD_OpenCL_Program... See section 3.1 for debugging, section 4.2.2 for kernel code editor.
- pjmlp 3y agoI guess, if one enjoys using C99 without any kind of nice tooling, calling GPU compiler and linker with APIs, printf debugging.
- pixelpoet 3y agoIndeed, I'm not a fan of C++28 with virtual functions, exceptions, new/delete and whatever in my GPU code :P With a parallel CPU implementation I have pretty few debugging issues, and most importantly, I definitely enjoy having excellent performance on Intel, AMD and Nvidia GPUs, on Windows, Mac and Linux.
- WanderPanda 3y agoTemplates would be nice, though. So much better than macros
- ranger_danger 3y agoI still only write C89. Being able to declare variables anywhere can lead to some really nasty bugs especially when using goto.
- mdaniel 3y agothere have been quite a few threads about "reasonably priced" FPGA platforms and https://github.com/vortexgpgpu/vortex/blob/master/docs/fpga_setup.md https://github.com/vortexgpgpu/vortex/blob/master/docs/fpga_... will interest you, but regrettably I haven't ever tried to use an FPGA to speak to whether their verilog only targets one of them, or "bring your own," and for sure I'm not the right person to speak to how much such a stunt would cost It would make for a helluva blog post, though, or set up a shopify selling pre-made ones for people like you :-)