Ask Your Question

Revision history [back]

I prefix this with the statement that I am not part of the dev team for opencv, but...

Probably not. )o: This supposition comes from that the MSVC compiler is currently [afaik] the only publicly available compiler that has implemented the specification, and has done so in part leveraging DX11 APIs. Intel have made an internal proof of concept implementation [built on opencl i think?], and supposedly it even outperforms the MS implementation in some scenarios, but this compiler was not released publicly. So despite being released as an open specification and [in my opinion] having a fairly low expertise barrier to entry, it would seem that it is yet to gain a wide cross platform footing on a par with say opencl or even cuda. This would mean that the effort of creating a C++AMP powered opencv backend would [for the time being] only be of benefit to windows users with dx11 capable hardware.

However!... I would love to be wrong and if there is an interested group with a mind to creating an AMP backend for core opencv I would be very interested in getting involved, as I have had some great fun hand rolling AMP kernels to work alongside opencv.

(PS. It is fairly straightforward to insert amp kernels between normal opencv usage, as you can simply pop an array_view onto the data pointer of a cv::Mat. You just have to be mindful of how the data is laid out in memory [and to synchronize back after!], but if you are doing that then you are already beginning to practice good parallel-think.)