Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
8660588f
Commit
8660588f
authored
Mar 05, 2014
by
Alexander Karsakov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pass vendor macro to opencl kernel
parent
c1dad217
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
36 deletions
+29
-36
ocl.hpp
modules/core/include/opencv2/core/ocl.hpp
+7
-8
ocl.cpp
modules/core/src/ocl.cpp
+22
-28
No files found.
modules/core/include/opencv2/core/ocl.hpp
View file @
8660588f
...
@@ -87,7 +87,7 @@ public:
...
@@ -87,7 +87,7 @@ public:
String
name
()
const
;
String
name
()
const
;
String
extensions
()
const
;
String
extensions
()
const
;
String
version
()
const
;
String
version
()
const
;
String
vendor
()
const
;
String
vendor
Name
()
const
;
String
OpenCL_C_Version
()
const
;
String
OpenCL_C_Version
()
const
;
String
OpenCLVersion
()
const
;
String
OpenCLVersion
()
const
;
int
deviceVersionMajor
()
const
;
int
deviceVersionMajor
()
const
;
...
@@ -164,14 +164,13 @@ public:
...
@@ -164,14 +164,13 @@ public:
enum
enum
{
{
UNKNOWN_VENDOR
=
0
,
UNKNOWN_VENDOR
=
0
,
AMD
=
1
,
VENDOR_
AMD
=
1
,
INTEL
=
2
,
VENDOR_
INTEL
=
2
,
NVIDIA
=
3
VENDOR_
NVIDIA
=
3
};
};
int
vendorID
()
const
;
bool
isAMD
()
const
;
inline
bool
isAMD
()
const
{
return
vendorID
()
==
VENDOR_AMD
;
};
bool
isIntel
()
const
;
inline
bool
isIntel
()
const
{
return
vendorID
()
==
VENDOR_INTEL
;
};
bool
isNvidia
()
const
;
int
maxClockFrequency
()
const
;
int
maxClockFrequency
()
const
;
int
maxComputeUnits
()
const
;
int
maxComputeUnits
()
const
;
...
...
modules/core/src/ocl.cpp
View file @
8660588f
...
@@ -1713,16 +1713,16 @@ struct Device::Impl
...
@@ -1713,16 +1713,16 @@ struct Device::Impl
String
deviceVersion_
=
getStrProp
(
CL_DEVICE_VERSION
);
String
deviceVersion_
=
getStrProp
(
CL_DEVICE_VERSION
);
parseDeviceVersion
(
deviceVersion_
,
deviceVersionMajor_
,
deviceVersionMinor_
);
parseDeviceVersion
(
deviceVersion_
,
deviceVersionMajor_
,
deviceVersionMinor_
);
vendorName
=
getStrProp
(
CL_DEVICE_VENDOR
);
vendorName
_
=
getStrProp
(
CL_DEVICE_VENDOR
);
if
(
vendorName
==
"Advanced Micro Devices, Inc."
||
if
(
vendorName
_
==
"Advanced Micro Devices, Inc."
||
vendorName
==
"AMD"
)
vendorName
_
==
"AMD"
)
vendor
_
=
AMD
;
vendor
ID_
=
VENDOR_
AMD
;
else
if
(
vendorName
==
"Intel(R) Corporation"
)
else
if
(
vendorName
_
==
"Intel(R) Corporation"
)
vendor
_
=
INTEL
;
vendor
ID_
=
VENDOR_
INTEL
;
else
if
(
vendorName
==
"NVIDIA Corporation"
)
else
if
(
vendorName
_
==
"NVIDIA Corporation"
)
vendor
_
=
NVIDIA
;
vendor
ID_
=
VENDOR_
NVIDIA
;
else
else
vendor_
=
UNKNOWN_VENDOR
;
vendor
ID
_
=
UNKNOWN_VENDOR
;
}
}
template
<
typename
_TpCL
,
typename
_TpOut
>
template
<
typename
_TpCL
,
typename
_TpOut
>
...
@@ -1765,8 +1765,8 @@ struct Device::Impl
...
@@ -1765,8 +1765,8 @@ struct Device::Impl
int
deviceVersionMajor_
;
int
deviceVersionMajor_
;
int
deviceVersionMinor_
;
int
deviceVersionMinor_
;
String
driverVersion_
;
String
driverVersion_
;
String
vendorName
;
String
vendorName
_
;
int
vendor_
;
int
vendor
ID
_
;
};
};
...
@@ -1826,8 +1826,11 @@ String Device::extensions() const
...
@@ -1826,8 +1826,11 @@ String Device::extensions() const
String
Device
::
version
()
const
String
Device
::
version
()
const
{
return
p
?
p
->
version_
:
String
();
}
{
return
p
?
p
->
version_
:
String
();
}
String
Device
::
vendor
()
const
String
Device
::
vendorName
()
const
{
return
p
?
p
->
vendorName
:
String
();
}
{
return
p
?
p
->
vendorName_
:
String
();
}
int
Device
::
vendorID
()
const
{
return
p
?
p
->
vendorID_
:
0
;
}
String
Device
::
OpenCL_C_Version
()
const
String
Device
::
OpenCL_C_Version
()
const
{
return
p
?
p
->
getStrProp
(
CL_DEVICE_OPENCL_C_VERSION
)
:
String
();
}
{
return
p
?
p
->
getStrProp
(
CL_DEVICE_OPENCL_C_VERSION
)
:
String
();
}
...
@@ -1938,21 +1941,6 @@ size_t Device::imageMaxArraySize() const
...
@@ -1938,21 +1941,6 @@ size_t Device::imageMaxArraySize() const
{
CV_REQUIRE_OPENCL_1_2_ERROR
;
}
{
CV_REQUIRE_OPENCL_1_2_ERROR
;
}
#endif
#endif
bool
Device
::
isAMD
()
const
{
return
p
->
vendor_
==
AMD
;
}
bool
Device
::
isIntel
()
const
{
return
p
->
vendor_
==
INTEL
;
}
bool
Device
::
isNvidia
()
const
{
return
p
->
vendor_
==
NVIDIA
;
}
int
Device
::
maxClockFrequency
()
const
int
Device
::
maxClockFrequency
()
const
{
return
p
?
p
->
getProp
<
cl_uint
,
int
>
(
CL_DEVICE_MAX_CLOCK_FREQUENCY
)
:
0
;
}
{
return
p
?
p
->
getProp
<
cl_uint
,
int
>
(
CL_DEVICE_MAX_CLOCK_FREQUENCY
)
:
0
;
}
...
@@ -3037,6 +3025,12 @@ struct Program::Impl
...
@@ -3037,6 +3025,12 @@ struct Program::Impl
for
(
i
=
0
;
i
<
n
;
i
++
)
for
(
i
=
0
;
i
<
n
;
i
++
)
deviceList
[
i
]
=
ctx
.
device
(
i
).
ptr
();
deviceList
[
i
]
=
ctx
.
device
(
i
).
ptr
();
Device
device
=
Device
::
getDefault
();
if
(
device
.
isAMD
())
buildflags
+=
" -D AMD_DEVICE"
;
else
if
(
device
.
isIntel
())
buildflags
+=
" -D INTEL_DEVICE"
;
retval
=
clBuildProgram
(
handle
,
n
,
retval
=
clBuildProgram
(
handle
,
n
,
(
const
cl_device_id
*
)
deviceList
,
(
const
cl_device_id
*
)
deviceList
,
buildflags
.
c_str
(),
0
,
0
);
buildflags
.
c_str
(),
0
,
0
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment