Just when I thought Microsoft had finally seen the virtue of contributing to an existing standard instead of being different just for the sake of being different. Surely the software industry as a whole would be better off if Microsoft instead threw its weight into fixing whatever is wrong with OpenCL.
> the software industry as a whole would be better off if […] Ultimately, Microsoft could be better of if they manage to impose their new proprietary wannabe de-facto standard. It doesn't care if it wrecks the whole industry in the process, they care about money.
AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
21–29 of 29 posts
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#22Just when I thought Microsoft had finally seen the virtue of contributing to an existing standard instead of being different just for the sake of being different. Surely the software industry as a whole would be better off if Microsoft instead threw its weight into fixing whatever is wrong with OpenCL.
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#23I don't know if it's accurate to say this is a competitor to OpenCL. We don't have full details, but I wouldn't be surprised if this was implemented using OpenCL . OpenCL is relatively low-level. It's quite un-friendly for developers to use directly. It's much more reasonable for compilers to generate it, or for libraries to build abstractions on top of it. My dissertation work did a similar with with OpenMP-like syn…
A compiler would be better off compiling directly to either native code (if running on a CPU) or something like PTX (for NVidia GPUs).
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#24I don't know if it's accurate to say this is a competitor to OpenCL. We don't have full details, but I wouldn't be surprised if this was implemented using OpenCL . OpenCL is relatively low-level. It's quite un-friendly for developers to use directly. It's much more reasonable for compilers to generate it, or for libraries to build abstractions on top of it. My dissertation work did a similar with with OpenMP-like syn…
OpenCL is a language designed for writing programs where performance is important. I'm not sure how you could abstract away from it or compile down to it without losing some control over the code's performance characteristics. A compiler would be better off compiling directly to either native code (if running on a CPU) or something like PTX (for NVidia GPUs).
We've been playing this game every since Fortran was first invented. Yeah, you probably could get better performance if you wrote your application one level of abstraction lower, but once you get a sufficiently sophisticated compiler, the performance benefit is marginal compared to the programming time and effort. Further, libraries tend not to be written directly in assembly, and will often rely on other libraries. I could see implementing something similar to what MS showed purely as a C++ library.
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#25Just when I thought Microsoft had finally seen the virtue of contributing to an existing standard instead of being different just for the sake of being different. Surely the software industry as a whole would be better off if Microsoft instead threw its weight into fixing whatever is wrong with OpenCL.
I guess capitalism with respect to software can only happen by software IP protection being enforced. If we could freely ripoff directX and incorporate any advances it made into openGL, then Microsoft would effectively be contributing to openGL, and the industry as a whole would benefit.
I think it would mean the end of software-only companies. Could Apple still make a profit if all of it's software free/libre? Do nvidia or AMD make money directly from software?
I'm not advocating either way.
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#26Earlier quoted context omitted.
OpenCL is equivalent to OpenGL -- runs on Windows, Linux, etc. (even coming to smartphones soon). C++ AMP is based on the DirectCompute APIs in DirectX 11. My $.02 -- maybe the target audience for C++ AMP is different than the target audience for OpenCL. Before it was released, I really liked the idea of OpenCL but in practice it doesn't really deliver very well (performance-wise) compared to alternatives like nVidia…
what? i've seen no performance difference between CUDA and OpenCL (targeting NVidia hardware). they are so low level and so similar that it's hard to see how there can be differences. what are you referring to?
I think people like CUDA because Nvidia puts a serious effort into their development tools and Marketing. That's not meaningless.
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#27Earlier quoted context omitted.
OpenCL is equivalent to OpenGL -- runs on Windows, Linux, etc. (even coming to smartphones soon). C++ AMP is based on the DirectCompute APIs in DirectX 11. My $.02 -- maybe the target audience for C++ AMP is different than the target audience for OpenCL. Before it was released, I really liked the idea of OpenCL but in practice it doesn't really deliver very well (performance-wise) compared to alternatives like nVidia…
what? i've seen no performance difference between CUDA and OpenCL (targeting NVidia hardware). they are so low level and so similar that it's hard to see how there can be differences. what are you referring to?
IMO, developers would rather write against a non-standard API (a la C++ AMP) that ran at a consistently good performance level across all of their targets (nVidia/AMD/Intel GPUs, multicore CPUs, etc.).
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#28I don't know if it's accurate to say this is a competitor to OpenCL. We don't have full details, but I wouldn't be surprised if this was implemented using OpenCL . OpenCL is relatively low-level. It's quite un-friendly for developers to use directly. It's much more reasonable for compilers to generate it, or for libraries to build abstractions on top of it. My dissertation work did a similar with with OpenMP-like syn…
Re: AFDS11: Microsoft Announces C++ AMP, Competitor to OpenCL
#29Earlier quoted context omitted.
what? i've seen no performance difference between CUDA and OpenCL (targeting NVidia hardware). they are so low level and so similar that it's hard to see how there can be differences. what are you referring to?
The problem is this -- go ahead and take that OpenCL code and run it on some non-nVidia hardware. For any reasonably complex code, it turns out that you really need to optimize specifically for whatever hardware you're running on. So, while you may be using a standardized API, you still have to write specific versions of your code for each platform that you want to get the best performance on. IMO, developers would r…