today, I knew that openvx only give some primitives, and vendor implement it.
in the visionworks, I know that there is already implemented primitives like canny edge detection. also there is
multiple implementations in one primitives like cpu version… and gpu(cuda) version.
my question is how i can check those implementation version by visionworks programming and nvidia profiler
when i test visionworks sample code, only gpu implemented version is executed.
is there any method to execute cpu implemented version?
and I knew that selecting one of the implemented node of primitives is contorlled inside the visionworks.
thanks for answer,
but I already knew that there is CUDA optimized and CPU implementation.
and I already knew that how to use nvvp
sorry, but your reply is different from what i expected.
I already found some information about my question .
in the refrence, there is some api for resource control, “vxSetNodeTarget”
and visionworks release note, there were some other implementations of primitives,
in the release note, some implementation is added when version is changed.
so here is question,
is there some other implementation of primitives for the CPU or GPU?
if i change node to cpu target by “vxSetNodeTarget”, Could I see some node is running on the cpu?
When I run samples, all implementation ran on the GPU, not CPU.
Thanks for your feedback and also sorry for my previous unclear reply.
vx_: Khronos OpenVX API(Nvidia optimized), please find document to check detail implementation. (mentioned in #2)
nvx_: Nvidia extension API, only GPU implementation is available.
nvxcu_*: Low-level CUDA API, only GPU implementation is available.
Ideally, target should be switched by vxSetNodeTarget.
But we found this function works abnomarllay when target string set to “CPU”.
We are checking this issue internally. Will update information to you later.
I am new in VisionWorks programminng, and i am confused about:
What the difference between vx_, nvx_ and nvxcu_? From your previous answer and official documents, i know that vx_ and nvx_* are both based on openvx framework, but vx is Nvidia optimized and accelerated with NEON. nvxcu_* is based on CUDA and without opencv. Is that right?
Which one is prefer in TX2 platform concerning about efficiency? or Can these be mixed in using and how to do that?