Coder Social home page Coder Social logo

gpuopen-professionalcompute-libraries / amdovx-core Goto Github PK

View Code? Open in Web Editor NEW
148.0 42.0 53.0 1.18 MB

AMD OpenVX Core -- a sub-module of amdovx-modules:

Home Page: https://github.com/GPUOpen-ProfessionalCompute-Libraries/amdovx-modules

License: MIT License

CMake 0.31% C++ 92.72% C 6.53% Objective-C 0.44%
openvx radeon-instinct-mi-series radeon-vega-series rocm radeon-open-compute amd-openvx opencl khronos-openvx amdgpu cpu

amdovx-core's People

Contributors

kananlanginhooper avatar kiritigowda avatar lcskrishna avatar rgiduthuri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amdovx-core's Issues

Channel_combine in gdf

Hi,

I am trying a channel_combine with the following:

data out = image:1920,1080,RGB2
node org.khronos.openvx.channel_combine out_r out_g out_b out

or

data out = image:1920,1080,RGBX
node org.khronos.openvx.channel_combine out_r out_g out_b out_a out

Both produce errors. 1st one complains about missing 4th argument and the second about not being able to create RGBX. Is that normal?

Thanks

ERROR This build doesn't support CAMERA option

when i run runvx.exe in command line, such as : runvx.exe file canny.gdf

results is
OK: suing AMD OpenVX 0.9.1
OK enable graph scheduling in separate threads
ERROR: This build does't support CAMERA option

can you share where to modify source file or setting to solve this issue?

thanks.

Camera setup on GDF file

How can I setup a GDF file to work with the camera as an input?
Anyone has a good idea?
Cheers

Merging of nodes

I'm going through the Graph Manager code. As far as my understanding, merging of functions are not yet supported. Am I right?
If so, are you planning to release any updated version?

GNU 6.3.1 SSE4.1 not found build error linux gcc 6.3.1

-- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/arpu/Work/githubsources/amdovx-core/build
arpu@localhost  ~/Work/githubsources/amdovx-core/build   master ?  export LC_ALL=C  ✓  6930  17:24:07
arpu@localhost  ~/Work/githubsources/amdovx-core/build   master ?  make  ✓  6931  17:24:09
Scanning dependencies of target openvx
[ 1%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama.cpp.o
[ 3%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama_alloc.cpp.o
[ 5%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama_analyze.cpp.o
[ 7%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama_divide.cpp.o
[ 9%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama_merge.cpp.o
[ 11%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_drama_remove.cpp.o
[ 13%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_haf_cpu.cpp.o
[ 15%] Building CXX object openvx/CMakeFiles/openvx.dir/ago/ago_haf_cpu_arithmetic.cpp.o
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Add_S16_U8U8(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:797:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:834:43: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Sub_S16_U8U8(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:986:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1022:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Add_S16_S16U8_Wrap(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1172:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1207:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Add_S16_S16U8_Sat(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1356:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1392:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Sub_S16_S16U8_Wrap(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1542:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1578:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Sub_S16_S16U8_Sat(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1728:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1764:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels2L = _mm_cvtepu8_epi16(pixels2L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Sub_S16_U8S16_Wrap(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32, vx_int16*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1910:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:1945:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp: In function 'int HafCpu_Sub_S16_U8S16_Sat(vx_uint32, vx_uint32, vx_int16*, vx_uint32, vx_uint8*, vx_uint32, vx_int16*, vx_uint32)':
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:2094:42: error: '_mm_cvtepu8_epi16' was not declared in this scope
pixels1L = _mm_cvtepu8_epi16(pixels1L);
^
/home/arpu/Work/githubsources/amdovx-core/openvx/ago/ago_haf_cpu_arithmetic.cpp:2130:42: error: '_mm_cvtepu8_epi16' was not declared in this scope

Error when building with OpenCL enabled

Hi - I am trying to build with OpenCL and am getting the following errors:
amdovx-core-master/openvx/ago/ago_util_opencl.cpp: In function ‘int agoGpuOclSetKernelArgs(cl_kernel, vx_uint32&, AgoData*, bool, vx_uint32, vx_uint32)’:
amdovx-core-master/openvx/ago/ago_util_opencl.cpp:697:9: error: ‘union cl_uint2’ has no member named ‘s0’
value.s0 = data->u.thr.threshold_lower;
^
amdovx-core-master/openvx/ago/ago_util_opencl.cpp:700:10: error: ‘union cl_uint2’ has no member named ‘s1’
value.s1 = data->u.thr.threshold_upper;
^
amdovx-core-master/openvx/ago/ago_util_opencl.cpp: In function ‘int agoGpuOclDataInputSync(_vx_graph*, cl_kernel, vx_uint32&, AgoData*, vx_uint32, vx_uint32, bool, bool, bool)’:
amdovx-core-master/openvx/ago/ago_util_opencl.cpp:931:9: error: ‘union cl_uint2’ has no member named ‘s0’
value.s0 = data->u.thr.threshold_lower;
^
amdovx-core-master/openvx/ago/ago_util_opencl.cpp:934:10: error: ‘union cl_uint2’ has no member named ‘s1’
value.s1 = data->u.thr.threshold_upper;
^

What am I doing wrong?
Thanks!

gdf Examples - display images is not supporting

I wanna run canny.gdf example and executing runvx.exe file canny.gdf I got:

c:\amdovx-core\build\runvx\Debug>runvx.exe -v file canny.gdf

***** VIDEOINPUT LIBRARY - 0.1995 - TFW07 *****

OK: using AMD OpenVX 0.9.1
OK: enabled graph scheduling in separate threads

include canny.gdf
data input = image:640,480,RGB2
data output = image:640,480,U008
read input raja-koduri-640x480.jpg
view input inputWindow
ERROR: display of image type ( ☺) is not support. Exiting.

How to resolve it?
Thank you.

Inconsistent orders of params array?

Hi,

It seems that all VX functions defined in vx_nodes.cpp have the params array ordered as [input1,input2, ... inputK, output]. For example, vxAbsDiffNode() has its params[] being [in1, in2, out]. However, in ago_kernel_api.cpp, functions such as agoKernel_AbsDiff_U8_U8U8() actually assume a reverted order, for instance [oImg, iImg0, iImg1], which seems incorrect to me. Please let me know whether I missed something or there is an issue with this logic.

Thank you.

Best,
Thanh

build on arm64 target

Is it possible to get it comipled amdovx-core and amdove-modules for arm64 (aarch64) architecture?

Memory leak at harris corners graph optimization

I have a severe memory leak at openvx tutorial exercise1 (and solution1 too).
https://github.com/rgiduthuri/openvx_tutorial

linked with OpenVX.dll from this repo (no opencl)

Visual Studio 2013 community. x64. both debug and release.

Call stack of allocation

OpenVX.dll!agoOptimizeDramaAlloc(_vx_graph * agraph) Line 554 C++
OpenVX.dll!agoOptimizeDrama(_vx_graph * agraph) Line 565 C++
OpenVX.dll!agoOptimizeGraph(_vx_graph * agraph) Line 208 C++
OpenVX.dll!vxVerifyGraph(_vx_graph * graph) Line 1657 C++
OpenVX.dll!vxuHarrisCorners(_vx_context * context, _vx_image * input, _vx_scalar * strength_thresh, _vx_scalar * min_distance, _vx_scalar * sensitivity, int gradient_size, int block_size, _vx_array * corners, _vx_scalar * num_corners) Line 873 C++
exercise1.exe!main(int argc, char * * argv) Line 286 C++

No break in vxQueryImage

No break in openvx\api\vx_api.cpp line 674-675 (function vxQueryImage, switch, VX_IMAGE_ATTRIBUTE_FORMAT), thus VX_IMAGE_ATTRIBUTE_PLANES always works instead.

        case VX_IMAGE_ATTRIBUTE_FORMAT:
            if (size == sizeof(vx_uint32)) {
                *(vx_df_image *)ptr = image->u.img.format;
                status = VX_SUCCESS;
            }
        case VX_IMAGE_ATTRIBUTE_PLANES:

should be

        case VX_IMAGE_ATTRIBUTE_FORMAT:
            if (size == sizeof(vx_uint32)) {
                *(vx_df_image *)ptr = image->u.img.format;
                status = VX_SUCCESS;
            }
            break;  // ***
        case VX_IMAGE_ATTRIBUTE_PLANES:

Dilation node on GDF file

Im trying to write a dilation node using the opencv extended nodes lib.
For that I need to specify a kernel matrix.

#compute dilation
data kernelMatrix = matrix:UINT8,3,3:INIT,0;1;0;1;1;1;0;1;0
data anchorX = scalar:INT32,1
data anchorY = scalar:INT32,1
data iter = scalar:INT32,3
data border = scalar:INT32,4
node org.opencv.dilate not dilation kernelMatrix anchorX anchorY iter border

Gives me the error:
E:\Projects\SignsFramework\x64\Release>runvx.exe vx_ext_cv.gdf
runvx.exe 0.9.2
OK: using AMD OpenVX 0.9.2
OK: loaded 55 kernels from vx_ext_cv.dll
init done
opengl support available
ERROR: matrix creation failed => -12 (VX_ERROR_INVALID_REFERENCE)

Probably a syntax error: but how can it be fixed?
Cheers,
Bruno

vxThresholdNode stride of Output image

Hi - When I use the vxThresholdNode the stride doesn't seem to be set for the output image. I am unable to use this output image as input to another node because of this. The input image to vxThresholdNode is of VX_DF_IMAGE_U8 type. Should I be doing something else to ensure that I get an output image with the stride set correctly?

Thanks!
Mayura

Compilation errors in runvx/vxArray.cpp

Error:
amdovx-core/runvx/vxArray.cpp: In member function ‘virtual int CVxParamArray::Initialize(vx_context, vx_graph, const char*)’:
/home/sheldon/repositories/sheldonrobinson/amdovx-core/runvx/vxArray.cpp:67:42: error: ‘strcmp’ was not declared in this scope
if (strcmp(itemType, it->first.c_str()) == 0){

I believe "#include " should be "#include " in runvx/vxUtils.h
--- a/runvx/vxUtils.h
+++ b/runvx/vxUtils.h
@@ -42,7 +42,7 @@ THE SOFTWARE.
#include <inttypes.h>

#include
-#include
+#include
#include
#include
#include

ERROR: clEnqueueNDRangeKernel(supernode,1,*,{1167360,0,0},...) failed(-54) for com.amd.loomsl.half_scale_gaussian

recreated from amdovx-modules

the problem looks like the local_work_size is not set for clEnqueueNDRangeKernel
and the kernel request the size
the docs says
The work-group size to be used for kernel can also be specified in the program source using the attribute((reqd_work_group_size(X, Y, Z)))qualifier. In this case the size of work group specified by local_work_size must match the value specified by the reqd_work_group_size attribute qualifier.

https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clEnqueueNDRangeKernel.html

@rgiduthuri so the local_work_size should be the same as the reqd_work_group_size from the kernel right?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.