Skip to content
This repository was archived by the owner on Feb 16, 2019. It is now read-only.

Commit c4e09f6

Browse files
rgiduthurirgiduthuri
authored andcommitted
release 0.9
0 parents  commit c4e09f6

File tree

89 files changed

+91028
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+91028
-0
lines changed

CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"), to deal
5+
# in the Software without restriction, including without limitation the rights
6+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
# copies of the Software, and to permit persons to whom the Software is
8+
# furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
# THE SOFTWARE.
20+
21+
cmake_minimum_required (VERSION 3.1)
22+
project(amdovx)
23+
24+
add_subdirectory(openvx)
25+
add_subdirectory(runvx)

COPYRIGHT.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy
4+
of this software and associated documentation files (the "Software"), to deal
5+
in the Software without restriction, including without limitation the rights
6+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
copies of the Software, and to permit persons to whom the Software is
8+
furnished to do so, subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in
11+
all copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
THE SOFTWARE.

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# AMD OpenVX (AMDOVX)
2+
AMD OpenVX (beta preview) is a highly optimized open source implementation of the [Khronos OpenVX](https://www.khronos.org/registry/vx/) computer vision specification. It allows for rapid prototyping as well as fast execution on a wide range of computer hardware, including small embedded x86 CPUs and large workstation discrete GPUs.
3+
4+
#### Features
5+
* The code is highly optimized for both x86 CPU and OpenCL for GPU
6+
* Supported hardware spans the range from low power embedded APUs (like the new G series) to laptop, desktop and workstation graphics
7+
* Supports Windows and Linux
8+
* Includes a “graph optimizer” that looks at the entire processing pipeline and removes/replaces/merges functions to improve performance and minimize bandwidth at runtime
9+
* Scripting support allows for rapid prototyping, without re-compiling at production performance levels
10+
* Interoperates with the popular (open source library) OpenCV
11+
12+
The current release verion is 0.9 (beta preview).
13+
14+
Build this project to generate AMD OpenVX library and RUNVX executable.
15+
* Refer to openvx/include/vx_ext_amd.h for extensions in AMD OpenVX library.
16+
* Refer to runvx/README.md for RUNVX details.
17+
18+
## Build Instructions
19+
20+
#### Pre-requisites
21+
* AMD APP SDK 3.0 [download](http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/).
22+
* OpenCV 3.0 [download](http://opencv.org/downloads.html).
23+
* CMake 3.1 or newer [download](http://cmake.org/download/).
24+
* OpenCV_DIR environment variable should point to OpenCV/build folder
25+
26+
#### Build using Visual Studio Professional 2013 on 64-bit Windows 10/8.1/7
27+
* Use amdovx-core/amdovx.sln to build for x64 platform
28+
29+
#### Build using CMake on Linux (Ubuntu 15.10 64-bit)
30+
* Use CMake to configure and generate Makefile

amdovx.sln

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 2013
4+
VisualStudioVersion = 12.0.31101.0
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvx", "openvx\openvx.vcxproj", "{973F2004-2215-431F-8A2C-93ABAAFB6A24}"
7+
EndProject
8+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runvx", "runvx\runvx.vcxproj", "{E14F83E9-2295-466C-9647-7BD0D03ECE4B}"
9+
ProjectSection(ProjectDependencies) = postProject
10+
{973F2004-2215-431F-8A2C-93ABAAFB6A24} = {973F2004-2215-431F-8A2C-93ABAAFB6A24}
11+
EndProjectSection
12+
EndProject
13+
Global
14+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
15+
Debug|x64 = Debug|x64
16+
Release|x64 = Release|x64
17+
EndGlobalSection
18+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
19+
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Debug|x64.ActiveCfg = Debug|x64
20+
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Debug|x64.Build.0 = Debug|x64
21+
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Release|x64.ActiveCfg = Release|x64
22+
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Release|x64.Build.0 = Release|x64
23+
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Debug|x64.ActiveCfg = Debug|x64
24+
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Debug|x64.Build.0 = Debug|x64
25+
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Release|x64.ActiveCfg = Release|x64
26+
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Release|x64.Build.0 = Release|x64
27+
EndGlobalSection
28+
GlobalSection(SolutionProperties) = preSolution
29+
HideSolutionNode = FALSE
30+
EndGlobalSection
31+
EndGlobal

openvx/CMakeLists.txt

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"), to deal
5+
# in the Software without restriction, including without limitation the rights
6+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
# copies of the Software, and to permit persons to whom the Software is
8+
# furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19+
# THE SOFTWARE.
20+
21+
cmake_minimum_required (VERSION 3.1)
22+
project (openvx)
23+
24+
set (CMAKE_CXX_STANDARD 11)
25+
26+
find_package(OpenCL)
27+
28+
include_directories(include ago api)
29+
30+
list(APPEND SOURCES
31+
ago/ago_drama.cpp
32+
ago/ago_drama_alloc.cpp
33+
ago/ago_drama_analyze.cpp
34+
ago/ago_drama_divide.cpp
35+
ago/ago_drama_merge.cpp
36+
ago/ago_drama_remove.cpp
37+
ago/ago_haf_cpu.cpp
38+
ago/ago_haf_cpu_arithmetic.cpp
39+
ago/ago_haf_cpu_canny.cpp
40+
ago/ago_haf_cpu_ch_extract_combine.cpp
41+
ago/ago_haf_cpu_color_convert.cpp
42+
ago/ago_haf_cpu_fast_corners.cpp
43+
ago/ago_haf_cpu_filter.cpp
44+
ago/ago_haf_cpu_geometric.cpp
45+
ago/ago_haf_cpu_harris.cpp
46+
ago/ago_haf_cpu_histogram.cpp
47+
ago/ago_haf_cpu_logical.cpp
48+
ago/ago_haf_cpu_opticalflow.cpp
49+
ago/ago_haf_cpu_pyramid.cpp
50+
ago/ago_haf_gpu_common.cpp
51+
ago/ago_haf_gpu_conversion.cpp
52+
ago/ago_haf_gpu_corners.cpp
53+
ago/ago_haf_gpu_linear_filter.cpp
54+
ago/ago_haf_gpu_special_filters.cpp
55+
ago/ago_interface.cpp
56+
ago/ago_kernel_api.cpp
57+
ago/ago_kernel_list.cpp
58+
ago/ago_platform.cpp
59+
ago/ago_util.cpp
60+
ago/ago_util_opencl.cpp
61+
api/vxu.cpp
62+
api/vx_api.cpp
63+
api/vx_nodes.cpp
64+
)
65+
66+
add_library(openvx STATIC ${SOURCES})
67+
68+
if (OpenCL_FOUND)
69+
target_compile_definitions(openvx PUBLIC ENABLE_OPENCL=1)
70+
include_directories(${OpenCL_INCLUDE_DIRS})
71+
target_link_libraries(openvx ${OpenCL_LIBRARIES})
72+
else(OpenCL_FOUND)
73+
target_compile_definitions(openvx PUBLIC ENABLE_OPENCL=0)
74+
endif(OpenCL_FOUND)
75+
76+
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
77+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -mxop")
78+
target_link_libraries(openvx dl)
79+
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
80+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
81+
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
82+
endif()

0 commit comments

Comments
 (0)