Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> --- ...-larger-sets-and-display-size-information.patch | 74 ++++++++++++++++++++ recipes-ti/ocl/opencl-examples_git.bb | 66 +++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 recipes-ti/ocl/ocl/0001-Add-larger-sets-and-display-size-information.patch create mode 100644 recipes-ti/ocl/opencl-examples_git.bb
diff --git a/recipes-ti/ocl/ocl/0001-Add-larger-sets-and-display-size-information.patch b/recipes-ti/ocl/ocl/0001-Add-larger-sets-and-display-size-information.patch new file mode 100644 index 0000000..b9987ad --- /dev/null +++ b/recipes-ti/ocl/ocl/0001-Add-larger-sets-and-display-size-information.patch @@ -0,0 +1,74 @@ +From c182467a5a2ed347d04b5586c96d4d3c33082805 Mon Sep 17 00:00:00 2001 +From: Jacob Stiffler <j-stiff...@ti.com> +Date: Thu, 4 Dec 2014 09:29:34 -0500 +Subject: [PATCH] Add larger sets and display size information. + +Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> +--- + dsplib_fft/fft_ocl.cpp | 5 ++++- + vecadd/main.cpp | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/dsplib_fft/fft_ocl.cpp b/dsplib_fft/fft_ocl.cpp +index 5f30532..044584a 100644 +--- a/dsplib_fft/fft_ocl.cpp ++++ b/dsplib_fft/fft_ocl.cpp +@@ -29,6 +29,7 @@ + #include <cmath> + #include <cstring> + #include <iostream> ++#include <stdio.h> + #include "ocl_util.h" + + #define __CL_ENABLE_EXCEPTIONS +@@ -53,7 +54,7 @@ const char * kernelStr = + /* ======================================================================== */ + /* Initialized arrays with fixed test data. */ + /* ======================================================================== */ +-#define FFTSZ (64*1024) ++#define FFTSZ (1*1024*1024) + #define PAD 0 + + float x[2*FFTSZ]; +@@ -88,6 +89,8 @@ int main () + int d = 0; + int bufsize = sizeof(float) * (2*FFTSZ + PAD + PAD); + ++ printf("Offloading FFT (SP,Complex) of %dK elements...\n\n", (FFTSZ / 1024)); fflush(stdout); ++ + Buffer bufX(context, CL_MEM_READ_ONLY, bufsize); + Buffer bufY(context, CL_MEM_WRITE_ONLY, bufsize); + Buffer bufW(context, CL_MEM_READ_ONLY, bufsize); +diff --git a/vecadd/main.cpp b/vecadd/main.cpp +index be1aced..e2dceda 100644 +--- a/vecadd/main.cpp ++++ b/vecadd/main.cpp +@@ -29,6 +29,7 @@ + #include <CL/cl.hpp> + #include <iostream> + #include <cstdlib> ++#include <stdio.h> + #include "ocl_util.h" + + using namespace cl; +@@ -43,7 +44,7 @@ const char * kernelStr = + " c[id] = a[id] + b[id];\n" + "}\n"; + +-const int NumElements = 8*1024; ++const int NumElements = 8*1024*1024; + const int NumWorkGroups = 256; + const int VectorElements = 4; + const int NumVecElements = NumElements / VectorElements; +@@ -76,6 +77,8 @@ int main(int argc, char *argv[]) + devices[d].getInfo(CL_DEVICE_NAME, &str); + cout << "DEVICE: " << str << endl << endl; + ++ printf("Offloading vector addition of %dK elements...\n\n", (NumElements / 1024)); fflush(stdout); ++ + Buffer bufA (context, CL_MEM_READ_ONLY, bufsize); + Buffer bufB (context, CL_MEM_READ_ONLY, bufsize); + Buffer bufDst (context, CL_MEM_WRITE_ONLY, bufsize); +-- +1.7.9.5 + diff --git a/recipes-ti/ocl/opencl-examples_git.bb b/recipes-ti/ocl/opencl-examples_git.bb new file mode 100644 index 0000000..32af835 --- /dev/null +++ b/recipes-ti/ocl/opencl-examples_git.bb @@ -0,0 +1,66 @@ +DESCRIPTION = "TI OpenCL Examples" +HOMEPAGE = "https://gitorious.design.ti.com/ocl" +LICENSE = "BSD" + +include ocl.inc + +COMPATIBLE_MACHINE = "dra7xx" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "opencl ti-cgt6x-native clocl-native" + +RDEPENDS_${PN} += " opencl-runtime" + +SRC_URI_append = " \ + ${SRC_URI_EXAMPLES} \ + ${EXAMPLES_PATCHES} \ +" + + +S = "${WORKDIR}/git/opencl_example_src" +B = "${S}" + +OCL_EXAMPLE_LIST = "dsplib_fft null ooo ooo_map platforms simple vecadd ccode buffer offline offline_embed" + +python do_unpack_append() { + import shutil + + git_dir = d.expand("${WORKDIR}/git/opencl_examples") + s = d.getVar("S", True) + + os.makedirs(s) + shutil.copy(os.path.join(git_dir,"Makefile"),s) + shutil.copy(os.path.join(git_dir,"make.inc"),s) + for example in d.getVar("OCL_EXAMPLE_LIST").split(): + shutil.copytree(os.path.join(git_dir,example), os.path.join(s,example)) +} + + +EXTRA_OEMAKE = " TARGET_ROOTDIR=${STAGING_DIR_HOST} TI_OCL_CGT_INSTALL=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" + +do_compile() { + oe_runmake +} + +do_install() { + install -d ${D}${datadir}/ti/examples/opencl + + install ${B}/Makefile ${D}${datadir}/ti/examples/opencl + install ${B}/make.inc ${D}${datadir}/ti/examples/opencl + + for ocl_example in ${OCL_EXAMPLE_LIST}; do + install -d ${D}${datadir}/ti/examples/opencl/${ocl_example} + cp -rv ${B}/${ocl_example}/* ${D}${datadir}/ti/examples/opencl/${ocl_example} + done +} + +FILES_${PN} += "\ + ${datadir}/ti/examples/opencl \ +" + +FILES_${PN}-dbg += "\ + ${datadir}/ti/examples/opencl/*/.debug \ +" + +INSANE_SKIP_${PN} = "arch" + -- 1.7.9.5 -- _______________________________________________ meta-ti mailing list meta-ti@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-ti