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

Commit

Permalink
release 0.9
Browse files Browse the repository at this point in the history
  • Loading branch information
rgiduthuri authored and rgiduthuri committed Feb 29, 2016
0 parents commit c4e09f6
Show file tree
Hide file tree
Showing 89 changed files with 91,028 additions and 0 deletions.
25 changes: 25 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

cmake_minimum_required (VERSION 3.1)
project(amdovx)

add_subdirectory(openvx)
add_subdirectory(runvx)
19 changes: 19 additions & 0 deletions COPYRIGHT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# AMD OpenVX (AMDOVX)
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.

#### Features
* The code is highly optimized for both x86 CPU and OpenCL for GPU
* Supported hardware spans the range from low power embedded APUs (like the new G series) to laptop, desktop and workstation graphics
* Supports Windows and Linux
* Includes a “graph optimizer” that looks at the entire processing pipeline and removes/replaces/merges functions to improve performance and minimize bandwidth at runtime
* Scripting support allows for rapid prototyping, without re-compiling at production performance levels
* Interoperates with the popular (open source library) OpenCV

The current release verion is 0.9 (beta preview).

Build this project to generate AMD OpenVX library and RUNVX executable.
* Refer to openvx/include/vx_ext_amd.h for extensions in AMD OpenVX library.
* Refer to runvx/README.md for RUNVX details.

## Build Instructions

#### Pre-requisites
* AMD APP SDK 3.0 [download](http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/).
* OpenCV 3.0 [download](http://opencv.org/downloads.html).
* CMake 3.1 or newer [download](http://cmake.org/download/).
* OpenCV_DIR environment variable should point to OpenCV/build folder

#### Build using Visual Studio Professional 2013 on 64-bit Windows 10/8.1/7
* Use amdovx-core/amdovx.sln to build for x64 platform

#### Build using CMake on Linux (Ubuntu 15.10 64-bit)
* Use CMake to configure and generate Makefile
31 changes: 31 additions & 0 deletions amdovx.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvx", "openvx\openvx.vcxproj", "{973F2004-2215-431F-8A2C-93ABAAFB6A24}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "runvx", "runvx\runvx.vcxproj", "{E14F83E9-2295-466C-9647-7BD0D03ECE4B}"
ProjectSection(ProjectDependencies) = postProject
{973F2004-2215-431F-8A2C-93ABAAFB6A24} = {973F2004-2215-431F-8A2C-93ABAAFB6A24}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Debug|x64.ActiveCfg = Debug|x64
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Debug|x64.Build.0 = Debug|x64
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Release|x64.ActiveCfg = Release|x64
{973F2004-2215-431F-8A2C-93ABAAFB6A24}.Release|x64.Build.0 = Release|x64
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Debug|x64.ActiveCfg = Debug|x64
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Debug|x64.Build.0 = Debug|x64
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Release|x64.ActiveCfg = Release|x64
{E14F83E9-2295-466C-9647-7BD0D03ECE4B}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
82 changes: 82 additions & 0 deletions openvx/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

cmake_minimum_required (VERSION 3.1)
project (openvx)

set (CMAKE_CXX_STANDARD 11)

find_package(OpenCL)

include_directories(include ago api)

list(APPEND SOURCES
ago/ago_drama.cpp
ago/ago_drama_alloc.cpp
ago/ago_drama_analyze.cpp
ago/ago_drama_divide.cpp
ago/ago_drama_merge.cpp
ago/ago_drama_remove.cpp
ago/ago_haf_cpu.cpp
ago/ago_haf_cpu_arithmetic.cpp
ago/ago_haf_cpu_canny.cpp
ago/ago_haf_cpu_ch_extract_combine.cpp
ago/ago_haf_cpu_color_convert.cpp
ago/ago_haf_cpu_fast_corners.cpp
ago/ago_haf_cpu_filter.cpp
ago/ago_haf_cpu_geometric.cpp
ago/ago_haf_cpu_harris.cpp
ago/ago_haf_cpu_histogram.cpp
ago/ago_haf_cpu_logical.cpp
ago/ago_haf_cpu_opticalflow.cpp
ago/ago_haf_cpu_pyramid.cpp
ago/ago_haf_gpu_common.cpp
ago/ago_haf_gpu_conversion.cpp
ago/ago_haf_gpu_corners.cpp
ago/ago_haf_gpu_linear_filter.cpp
ago/ago_haf_gpu_special_filters.cpp
ago/ago_interface.cpp
ago/ago_kernel_api.cpp
ago/ago_kernel_list.cpp
ago/ago_platform.cpp
ago/ago_util.cpp
ago/ago_util_opencl.cpp
api/vxu.cpp
api/vx_api.cpp
api/vx_nodes.cpp
)

add_library(openvx STATIC ${SOURCES})

if (OpenCL_FOUND)
target_compile_definitions(openvx PUBLIC ENABLE_OPENCL=1)
include_directories(${OpenCL_INCLUDE_DIRS})
target_link_libraries(openvx ${OpenCL_LIBRARIES})
else(OpenCL_FOUND)
target_compile_definitions(openvx PUBLIC ENABLE_OPENCL=0)
endif(OpenCL_FOUND)

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -mxop")
target_link_libraries(openvx dl)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
endif()
Loading

0 comments on commit c4e09f6

Please sign in to comment.