diff --git a/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15_posix_mem_align.xml b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15_posix_mem_align.xml new file mode 100644 index 0000000000000000000000000000000000000000..0418ee9be34e1a174b73708263fcde8c490791f5 --- /dev/null +++ b/src/aparapi/com.amd.aparapi.jni/build_altera_ocl_v15_posix_mem_align.xml @@ -0,0 +1,907 @@ +<?xml version="1.0"?> + +<!-- +You should not have to edit this file +First consider editing the properties in build.properties +--> +<project name="com.amd.aparapi.jni" default="build" basedir="."> + + <property file="build.properties"/> + + <!-- + DO NOT EDIT BELOW THIS LINE + --> + <echo>OS Name: ${os.name}</echo> + <echo>OS Version: ${os.version}</echo> + <echo>OS Arch: ${os.arch}</echo> + + <!--<property name="build.compiler" value="javac1.6"/>--> + <!-- <property name="ant.build.javac.source" value="1.6"/>--> + <!-- <property name="ant.build.javac.target" value="1.6"/> --> + + <property environment="env" /> + <!-- we need env.PATH for msvc only --> + + <!-- uncomment this if you want to use mingw! --> + <!--<property name="mingw.dir" value="c:\\MinGW"/>--> + + <target name="init"> + <available property="win32.amd.app.sdk.exists" file="C:/Program Files/AMD APP" type="dir"/> + + <condition property="amd.app.sdk.dir" value="C:/Program Files/AMD APP"> + <and> + <os family="windows" /> + <isset property="win32.amd.app.sdk.exists" /> + <not> + <isset property="amd.app.sdk.dir" /> + </not> + </and> + </condition> + + <available property="win64.amd.app.sdk.exists" file="C:/Program Files (x86)/AMD APP" type="dir"/> + <condition property="amd.app.sdk.dir" value="C:/Program Files (x86)/AMD APP"> + <and> + <os family="windows" /> + <isset property="win64.amd.app.sdk.exists" /> + <not> + <isset property="win32.amd.app.sdk.exists" /> + </not> + </and> + </condition> + + <!-- !!! oren change -> detect Altera OpenCL SDK --> + <available property="linux.amd.app.sdk.exists" file="${env.ALTERAOCLSDKROOT}" type="dir"/> + <condition property="amd.app.sdk.dir" value="${env.ALTERAOCLSDKROOT}"> + <and> + <os family="unix" /> + <not> + <os family="mac" /> + </not> + <isset property="linux.amd.app.sdk.exists" /> + <not> + <isset property="win32.amd.app.sdk.exists" /> + </not> + <not> + <isset property="win64.amd.app.sdk.exists" /> + </not> + </and> + </condition> + + <echo message=" amd.app.sdk.dir ${amd.app.sdk.dir}"/> + + <!-- !!! wagnerse add -> automatically get the gcc compile arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.compileconfig" failonerror="true"> + <arg line="compile-config"/> + </exec> + + <echo message=" AOCL Compile configuration: ${altera.opencl.sdk.compileconfig}"/> + + <!-- !!! wagnerse add -> automatically get the gcc link arguments for the Altera OpenCL --> + <exec executable="aocl" outputproperty="altera.opencl.sdk.linkconfig" failonerror="true"> + <arg line="link-config"/> + </exec> + + <echo message=" AOCL Link configuration: ${altera.opencl.sdk.linkconfig}"/> + + <!-- !!! 11.11.14 oren change -> detect Altera OpenCL SDK Board Package root --> + <available property="linux.amd.app.bsp.exists" file="${env.AOCL_BOARD_PACKAGE_ROOT}" type="dir"/> + <condition property="amd.app.bsp.dir" value="${env.AOCL_BOARD_PACKAGE_ROOT}"> + <and> + <os family="unix" /> + <not> + <os family="mac" /> + </not> + <isset property="linux.amd.app.bsp.exists" /> + <not> + <isset property="win32.amd.app.sdk.exists" /> + </not> + <not> + <isset property="win64.amd.app.sdk.exists" /> + </not> + </and> + </condition> + + <echo message=" amd.app.bsp.dir ${amd.app.bsp.dir}"/> + + <!-- Check for Visual Studio --> + <!-- This needs to be in descending order to properly handle multiple installations --> + + <available property="msvc.32.11.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 11.0\VC\bin" type="dir"/> + <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 11.0"> + <and> + <not> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + </not> + <os family="windows" /> + <isset property="msvc.32.11.0.exists" /> + <not> + <isset property="msvc.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.64.10.0.exists" file="c:/Program Files/Microsoft Visual Studio 10.0\vc\bin" type="dir"/> + <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 10.0"> + <and> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + <os family="windows" /> + <isset property="msvc.64.10.0.exists" /> + <not> + <isset property="msvc.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.32.10.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 10.0\vc\bin" type="dir"/> + <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 10.0"> + <and> + <not> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + </not> + <os family="windows" /> + <isset property="msvc.32.10.0.exists" /> + <not> + <isset property="msvc.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.32.9.0.exists" file="c:/Program Files/Microsoft Visual Studio 9.0\vc\bin" type="dir"/> + <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 9.0"> + <and> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + <os family="windows" /> + <isset property="msvc.32.9.0.exists" /> + <not> + <isset property="msvc.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <!-- Check for SDKs --> + <!-- This needs to be in descending order to properly handle multiple installations --> + + <!-- <available property="msvc.sdk.8.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.8.0A.32.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.8.0.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.8.0.32.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> --> + + <available property="msvc.sdk.7.1A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.1A.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.1A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.1A.32.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.1.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.1.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.1.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.1.32.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.0A.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.0A.32.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.7.0.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.7.0.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <available property="msvc.sdk.6.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v6.0A" type="dir"/> + <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v6.0A"> + <and> + <os family="windows" /> + <isset property="msvc.sdk.6.0A.exists" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + <not> + <isset property="mingw.dir" /> + </not> + </and> + </condition> + + <echo message=" msvc.dir ${msvc.dir}"/> + <echo message=" msvc.sdk.dir ${msvc.sdk.dir}"/> + </target> + + <target name="check" depends="init"> + + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <isset property="msvc.dir" /> + <not> + <isset property="msvc.sdk.dir" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present msvc.dir seems to be Configured but not msvc.sdk.dir + ]]> + </fail> + + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <not> + <isset property="msvc.dir" /> + </not> + <isset property="msvc.sdk.dir" /> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present msvc.sdk.dir seems to be Configured but not msvc.dir + ]]> + </fail> + <available file="${msvc.dir}" type="dir" property="msvc.dir.exists" /> + <available file="${msvc.sdk.dir}" type="dir" property="msvc.sdk.dir.exists" /> + + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <isset property="msvc.dir" /> + <not> + <isset property="msvc.dir.exists" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present msvc.dir is set (to ${msvc.dir}) but that dir does not exist + ]]> + </fail> + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <isset property="msvc.sdk.dir" /> + <not> + <isset property="msvc.sdk.dir.exists" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present msvc.sdk.dir is set (to ${msvc.sdk.dir}) but that dir does not exist + ]]> + </fail> + + + <available file="${mingw.dir}" type="dir" property="mingw.dir.exists" /> + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <isset property="mingw.dir" /> + <not> + <isset property="mingw.dir.exists" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present mingw.dir is set (to ${mingw.dir}) but that dir does not exist + ]]> + </fail> + <!--<echo message="java.home ${java.home}"/>--> + <!--<echo message="msvc.dir.exists ${msvc.dir.exists}"/>--> + <!--<echo message="msvc.sdk.dir.exists ${msvc.sdk.dir.exists}"/>--> + <!--<echo message="mingw.dir.exists ${mingw.dir.exists}"/>--> + <condition property="use.msvc"> + <and> + <os family="windows" /> + <isset property="msvc.dir.exists" /> + <isset property="msvc.sdk.dir.exists" /> + </and> + </condition> + <!--<echo message="use.msvc ${use.msvc}"/>--> + + <condition property="use.mingw"> + <and> + <os family="windows" /> + <isset property="mingw.dir.exists" /> + </and> + </condition> + <!--<echo message="use.mingw ${use.mingw}"/>--> + + <fail message="Error:"> + <condition> + <and> + <isset property="use.mingw" /> + <isset property="use.msvc" /> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present ant is Configured for both MinGW AND Microsoft Visual Studio. You need to pick one or the other :) ! + + Just comment out the properties for the compiler that you *do not* wish to use. + ]]> + </fail> + + <fail message="Error:"> + <condition> + <and> + <os family="windows" /> + <not> + <or> + <isset property="use.mingw" /> + <isset property="use.msvc" /> + </or> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + This looks like a windows machine so you probably need to Configure either:- + + * msvc.dir and msvc.sdk.dir if you wish to use Microsoft Visual Studio compiler + + * mingw.dir if you prefer if you prefer to use MinGW + ]]> + </fail> + + <condition property="use.gcc"> + <and> + <os family="unix" /> + <not> + <os family="mac" /> + </not> + </and> + </condition> + + <condition property="use.gcc_mac"> + <os family="mac" /> + </condition> + + <condition property="x86_or_x86_64" value="x86" else="x86_64"> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + </condition> + + <condition property="optional.amd64.subdir" value="" else="amd64\"> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + </condition> + + <condition property="optional.x64.subdir" value="" else="x64\"> + <or> + <os arch="x86" /> + <os arch="i386" /> + </or> + </condition> + + + <available file="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe" type="file" property="cl.exists" /> + + <fail message="Error:"> + <condition> + <and> + <isset property="use.msvc" /> + <not> + <isset property="cl.exists" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + Could not find vc\bin\${optional.amd64.subdir}cl under Configured msvc.dir. Check if msvc.dir is pointing + to a valid visual studio installation + ]]> + </fail> + + <fail message="Error:"> + <condition> + <and> + <not> + <os family="mac" /> + </not> + <not> + <isset property="amd.app.sdk.dir" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + You need to set amd.app.sdk.dir to point to the location where AMD APP SDK is installed + ]]> + </fail> + <available file="${amd.app.sdk.dir}" type="dir" property="amd.app.sdk.dir.exists" /> + + <fail message="Error:"> + <condition> + <and> + <not> + <os family="mac" /> + </not> + <not> + <isset property="amd.app.sdk.dir.exists" /> + </not> + </and> + </condition> + <![CDATA[ + You will need to edit com.amd.aparapi.jni/build.properties to compile aparapi JNI code + + At present amd.app.sdk.dir is set (to ${amd.app.sdk.dir}) but that dir does not exist + ]]> + </fail> + </target> + + <target name="clean" depends="check"> + <delete dir="include" /> + <delete dir="${basedir}/dist" /> + <!-- Legacy cleanup --> + <delete file="libaparapi_${x86_or_x86_64}.dylib" /> + <delete file="libaparapi_${x86_or_x86_64}.so" /> + <delete file="aparapi_${x86_or_x86_64}.dll" /> + <delete file="aparapi.dll" /> + <delete file="aparapi.obj" /> + <delete file="aparapi.o" /> + <delete file="aparapi.lib" /> + <delete file="aparapi.exp" /> + <delete file="OpenCLJNI.obj" /> + <delete file="OpenCLJNI.o" /> + <delete file="Config.obj" /> + <delete file="Config.o" /> + <delete file="ProfileInfo.obj" /> + <delete file="ProfileInfo.o" /> + <delete file="ArrayBuffer.obj" /> + <delete file="ArrayBuffer.o" /> + <delete file="AparapiBuffer.obj" /> + <delete file="AparapiBuffer.o" /> + <delete file="JNIHelper.obj" /> + <delete file="JNIHelper.o" /> + <delete file="CLHelper.obj" /> + <delete file="CLHelper.o" /> + <delete file="JNIContext.obj" /> + <delete file="JNIContext.o" /> + <delete file="KernelArg.obj" /> + <delete file="KernelArg.o" /> + <delete file="Range.obj" /> + <delete file="Range.o" /> + <delete file="OpenCLArgDescriptor.obj" /> + <delete file="OpenCLArgDescriptor.o" /> + <delete file="agent.obj" /> + <delete file="agent.o" /> + <delete file="classtools.obj" /> + <delete file="classtools.o" /> + <delete file="OpenCLMem.obj" /> + <delete file="OpenCLMem.o" /> + </target> + + <target name="javah"> + <mkdir dir="include" /> + <javah classpath="..\com.amd.aparapi\classes" destdir="include" force="true"> + <class name="com.amd.aparapi.internal.jni.ConfigJNI" /> + <class name="com.amd.aparapi.internal.jni.KernelArgJNI" /> + <class name="com.amd.aparapi.internal.jni.KernelRunnerJNI" /> + <class name="com.amd.aparapi.internal.jni.OpenCLJNI" /> + <class name="com.amd.aparapi.internal.jni.RangeJNI" /> + <!-- Non-Native Classes --> + <class name="com.amd.aparapi.Kernel"/> + <class name="com.amd.aparapi.Range"/> + <class name="com.amd.aparapi.Config" /> + <class name="com.amd.aparapi.device.Device" /> + <class name="com.amd.aparapi.device.OpenCLDevice" /> + <class name="com.amd.aparapi.internal.kernel.KernelRunner"/> + <class name="com.amd.aparapi.internal.opencl.OpenCLArgDescriptor" /> + <class name="com.amd.aparapi.internal.opencl.OpenCLMem" /> + </javah> + </target> + + + <target name="gcc" if="use.gcc"> + <mkdir dir="${basedir}/dist"/> + <echo message="linuxcc ${os.arch}" /> + <exec executable="g++"> + <!-- !!! oren change -> add debug info, no optimizations + <arg value="-O3" /> + <arg value="-O0" /> + --> + <!-- !!! oren change -> add support for ISO C++ 2011 (C++0x) requires GCC 4.3 and later --> + <arg value="-std=c++0x" /> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="-DALTERA_OPENCL"/> + <arg value="-DTEST_ALIGNED_MEM"/> + <arg value="-I${java.home}/../include" /> + <arg value="-I${java.home}/../include/linux" /> + <arg value="-Iinclude" /> + <arg value="-I${amd.app.sdk.dir}/host/include" /> + <arg value="-Isrc/cpp" /> + <arg value="-Isrc/cpp/runKernel" /> + <arg value="-Isrc/cpp/invoke" /> + <arg value="-shared" /> + <arg value="-o"/> + <arg value="${basedir}/dist/libaparapi_${x86_or_x86_64}.so" /> + <arg value="src/cpp/runKernel/Aparapi.cpp" /> + <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> + <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> + <arg value="src/cpp/runKernel/Config.cpp" /> + <arg value="src/cpp/runKernel/JNIContext.cpp" /> + <arg value="src/cpp/runKernel/KernelArg.cpp" /> + <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> + <arg value="src/cpp/runKernel/Range.cpp" /> + <!-- !!! oren change -> platform config settings --> + <arg value="src/cpp/runKernel/ConfigSettings.cpp" /> + <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> + <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> + <arg value="src/cpp/invoke/OpenCLMem.cpp" /> + <arg value="src/cpp/CLHelper.cpp" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/JNIHelper.cpp" /> + <arg value="src/cpp/agent.cpp" /> + <!-- !!! wagnerse -> Use compile and link configuration from aocl --> + <arg line="${altera.opencl.sdk.compileconfig}"/> + <arg value="-lOpenCL"/> + <arg line="${altera.opencl.sdk.linkconfig}"/> + <arg line="-Wl,--export-dynamic"/> + </exec> + </target> + + <target name="gcc_mac" if="use.gcc_mac"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc ${os.arch}" /> + <exec executable="g++"> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <!-- <arg value="-fopenmp"/> --> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="-I/System/Library/Frameworks/JavaVM.framework/Headers" /> + <arg value="-Iinclude" /> + <arg value="-Isrc/cpp" /> + <arg value="-Isrc/cpp/runKernel" /> + <arg value="-Isrc/cpp/invoke" /> + <arg value="-shared" /> + <arg value="-o" /> + <arg value="${basedir}/dist/libaparapi_${x86_or_x86_64}.dylib" /> + <arg value="src/cpp/runKernel/Aparapi.cpp" /> + <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> + <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> + <arg value="src/cpp/runKernel/Config.cpp" /> + <arg value="src/cpp/runKernel/JNIContext.cpp" /> + <arg value="src/cpp/runKernel/KernelArg.cpp" /> + <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> + <arg value="src/cpp/runKernel/Range.cpp" /> + <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> + <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> + <arg value="src/cpp/invoke/OpenCLMem.cpp" /> + <arg value="src/cpp/CLHelper.cpp" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/JNIHelper.cpp" /> + <arg value="src/cpp/agent.cpp" /> + <arg value="-framework" /> + <arg value="OpenCL" /> + <arg value="-Wno-write-strings" /> + </exec> + </target> + + <target name="msvc" if="use.msvc"> + <mkdir dir="${basedir}\dist"/> + <echo message="msvc ${os.arch}" /> + <exec executable="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe"> + <env key="PATH" path="${env.PATH};${msvc.dir}\\Common7\\IDE" /> + <arg value="/nologo" /> + <arg value="/TP" /> + <arg value="/Ox" /> + <!-- <arg value="/openmp" /> --> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="/EHsc" /> + <arg value="/I${msvc.dir}\vc\include" /> + <arg value="/I${msvc.sdk.dir}\include" /> + <arg value="/I${java.home}\..\include" /> + <arg value="/I${java.home}\..\include\win32" /> + <arg value="/Iinclude" /> + <arg value="/I${amd.app.sdk.dir}\include" /> + <arg value="/Isrc/cpp" /> + <arg value="/Isrc/cpp/runKernel" /> + <arg value="/Isrc/cpp/invoke" /> + <arg value="src/cpp/runKernel/Aparapi.cpp" /> + <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> + <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> + <arg value="src/cpp/runKernel/Config.cpp" /> + <arg value="src/cpp/runKernel/JNIContext.cpp" /> + <arg value="src/cpp/runKernel/KernelArg.cpp" /> + <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> + <arg value="src/cpp/runKernel/Range.cpp" /> + <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> + <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> + <arg value="src/cpp/invoke/OpenCLMem.cpp" /> + <arg value="src/cpp/CLHelper.cpp" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/JNIHelper.cpp" /> + <arg value="src/cpp/agent.cpp" /> + <arg value="/LD" /> + <arg value="/link" /> + <arg value="/libpath:${msvc.dir}\vc\lib\${optional.amd64.subdir}" /> + <arg value="/libpath:${msvc.sdk.dir}\lib\${optional.x64.subdir}" /> + <arg value="/libpath:${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> + <arg value="OpenCL.lib" /> + <arg value="/out:${basedir}\dist\aparapi_${x86_or_x86_64}.dll" /> + </exec> + </target> + + <target name="mingw" if="use.mingw"> + <mkdir dir="${basedir}\dist"/> + <echo message="mingw ${os.arch}" /> + <exec executable="${mingw.dir}/bin/g++"> + <env key="PATH" path="${env.PATH};${mingw.dir}/bin" /> + <arg value="-Wall" /> + <arg value="-O3" /> + <arg value="-Wl,--kill-at" /> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="-I${java.home}\..\include" /> + <arg value="-I${java.home}\..\include\win32" /> + <arg value="-Iinclude" /> + <arg value="-I${amd.app.sdk.dir}\include" /> + <arg value="-Isrc/cpp" /> + <arg value="-Isrc/cpp/runKernel" /> + <arg value="-Isrc/cpp/invoke" /> + <arg value="-shared" /> + <arg value="-o" /> + <arg value="${basedir}\dist\aparapi_${x86_or_x86_64}.dll" /> + <arg value="src/cpp/runKernel/Aparapi.cpp" /> + <arg value="src/cpp/runKernel/ArrayBuffer.cpp" /> + <arg value="src/cpp/runKernel/AparapiBuffer.cpp" /> + <arg value="src/cpp/runKernel/Config.cpp" /> + <arg value="src/cpp/runKernel/JNIContext.cpp" /> + <arg value="src/cpp/runKernel/KernelArg.cpp" /> + <arg value="src/cpp/runKernel/ProfileInfo.cpp" /> + <arg value="src/cpp/runKernel/Range.cpp" /> + <arg value="src/cpp/invoke/OpenCLJNI.cpp" /> + <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" /> + <arg value="src/cpp/invoke/OpenCLMem.cpp" /> + <arg value="src/cpp/CLHelper.cpp" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/JNIHelper.cpp" /> + <arg value="src/cpp/agent.cpp" /> + <arg value="-L${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> + <arg value="-lOpenCL" /> + </exec> + </target> + + <target name="build" depends="clean, javah, msvc, mingw, gcc, gcc_mac" /> + + <target name="msvc_cltest" if="use.msvc"> + <mkdir dir="${basedir}\dist"/> + <echo message="msvc_cltest ${os.arch}" /> + <exec executable="${msvc.dir}\vc\bin\${optional.amd64.subdir}cl.exe"> + <env key="PATH" path="${env.PATH};${msvc.dir}\\Common7\\IDE" /> + <arg value="/nologo" /> + <arg value="/TP" /> + <arg value="/Ox" /> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="/I${msvc.dir}\vc\include" /> + <arg value="/I${msvc.sdk.dir}\include" /> + <arg value="/I${amd.app.sdk.dir}\include" /> + <arg value="/Isrc/cpp" /> + <arg value="/Isrc/cpp/runKernel" /> + <arg value="/Isrc/cpp/invoke" /> + <arg value="src\cpp\CLTest.cpp" /> + <arg value="/link" /> + <arg value="/libpath:${msvc.dir}\vc\lib\${optional.amd64.subdir}" /> + <arg value="/libpath:${msvc.sdk.dir}\lib\${optional.x64.subdir}" /> + <arg value="/libpath:${amd.app.sdk.dir}\lib\${x86_or_x86_64}" /> + <arg value="OpenCL.lib" /> + <arg value="/out:${basedir}/dist/cltest_${x86_or_x86_64}.exe" /> + </exec> + </target> + + <target name="mac_cltest" if="use.gcc_mac"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc cltest ${os.arch}" /> + <exec executable="g++"> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="-I/System/Library/Frameworks/JavaVM.framework/Headers" /> + <arg value="-Iinclude" /> + <arg value="-Isrc/cpp" /> + <arg value="-Isrc/cpp/runKernel" /> + <arg value="-Isrc/cpp/invoke" /> + <arg value="-o" /> + <arg value="${basedir}/dist/cltest" /> + <arg value="src/cpp/CLTest.cpp" /> + <arg value="-framework" /> + <arg value="OpenCL" /> + </exec> + </target> + + <target name="gcc_cltest" if="use.gcc"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc cltest ${os.arch}" /> + <exec executable="g++"> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/> + <arg value="-I${java.home}/../include" /> + <arg value="-I${java.home}/../include/linux" /> + <arg value="-I${amd.app.sdk.dir}/include" /> + <arg value="src/cpp/cltest.cpp" /> + <arg value="-L${amd.app.sdk.dir}/lib/${x86_or_x86_64}" /> + <arg value="-lOpenCL" /> + <arg value="-o" /> + <arg value="${basedir}/cltest_${x86_or_x86_64}" /> + </exec> + </target> + + <target name="gcc_clt" if="use.gcc"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc cltest ${os.arch}" /> + <exec executable="g++"> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/classtoolstest.cpp" /> + <arg value="-o" /> + <arg value="${basedir}/clt" /> + </exec> + </target> + + + <target name="mac_clt" if="use.gcc_mac"> + <mkdir dir="${basedir}/dist"/> + <echo message="gcc clt ${os.arch}" /> + <exec executable="g++"> + <arg value="-O3" /> + <arg value="-g" /> + <arg value="-fPIC" /> + <arg value="src/cpp/classtools.cpp" /> + <arg value="src/cpp/classtoolstest.cpp" /> + <arg value="-o" /> + <arg value="${basedir}/clt" /> + </exec> + </target> + + <target name="cltest" depends="check,msvc_cltest,mac_cltest,gcc_cltest" /> + <target name="clt" depends="check,gcc_clt,mac_clt" /> +</project> diff --git a/src/aparapi/com.amd.aparapi.jni/dist/libaparapi_x86_64.so b/src/aparapi/com.amd.aparapi.jni/dist/libaparapi_x86_64.so index 95d77cecc323704ccb9f71fdb6fdbb71b16fdbfe..6eeef4011b37bbb315295a495af7bf863c9267e8 100755 Binary files a/src/aparapi/com.amd.aparapi.jni/dist/libaparapi_x86_64.so and b/src/aparapi/com.amd.aparapi.jni/dist/libaparapi_x86_64.so differ diff --git a/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.cpp b/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.cpp index ce1ad9c8bd91b3b6dd94566cc396a99b498b9685..f8fac0b1268ef711f78c9a14b2c0b3afe206db35 100644 --- a/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.cpp +++ b/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.cpp @@ -49,6 +49,23 @@ ArrayBuffer::ArrayBuffer(): isPinned(false){ } +#ifndef TEST_ALIGNED_MEM + +void ArrayBuffer::unpinAbort(JNIEnv *jenv){ + jenv->ReleasePrimitiveArrayCritical((jarray)javaArray, addr,JNI_ABORT); + isPinned = JNI_FALSE; +} +void ArrayBuffer::unpinCommit(JNIEnv *jenv){ + jenv->ReleasePrimitiveArrayCritical((jarray)javaArray, addr, 0); + isPinned = JNI_FALSE; +} +void ArrayBuffer::pin(JNIEnv *jenv){ + void *ptr = addr; + addr = jenv->GetPrimitiveArrayCritical((jarray)javaArray,&isCopy); + isPinned = JNI_TRUE; +} + +#else // defined TEST_ALIGNED_MEM ArrayBuffer::~ArrayBuffer() { // !!! oren fix mem leak @@ -119,3 +136,4 @@ void ArrayBuffer::pin(JNIEnv *jenv){ //////////////////// isPinned = JNI_TRUE; } +#endif // TEST_ALIGNED_MEM diff --git a/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.h b/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.h index 87c9da6a9d3abd7bce26d43ae18a299a158d4291..fab4709e44ca3e43fc127fa9f0788b35d616694c 100644 --- a/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.h +++ b/src/aparapi/com.amd.aparapi.jni/src/cpp/runKernel/ArrayBuffer.h @@ -41,6 +41,31 @@ #include "Common.h" #include "ProfileInfo.h" +///////////////////////////////// +// if not in memory alignment test mode +#ifndef TEST_ALIGNED_MEM +///////////////////////////////// +class ArrayBuffer{ + public: + jobject javaArray; // The java array that this arg is mapped to + cl_uint length; // the number of elements for arrays (used only when ARRAYLENGTH bit is set for this arg) + jint lengthInBytes; // bytes in the array or directBuf + cl_mem mem; // the opencl buffer + void *addr; // the last address where we saw this java array object + cl_uint memMask; // the mask used for createBuffer + jboolean isCopy; + jboolean isPinned; + char memSpec[128]; // The string form of the mask we used for create buffer. for debugging + ProfileInfo read; + ProfileInfo write; + + ArrayBuffer(); + void unpinAbort(JNIEnv *jenv); + void unpinCommit(JNIEnv *jenv); + void pin(JNIEnv *jenv); +}; + +#else // defined TEST_ALIGNED_MEM // !!! oren mem tests //////////////// // Need to align host data to 32 bytes to be able to use DMA @@ -107,5 +132,6 @@ class ArrayBuffer{ void unpinCommit(JNIEnv *jenv); void pin(JNIEnv *jenv); }; +#endif // eof TEST_ALIGNED_MEM #endif // ARRAYBUFFER_H diff --git a/src/aparapi/com.amd.aparapi/dist/aparapi.jar b/src/aparapi/com.amd.aparapi/dist/aparapi.jar index 44f2c68a53dacfb08499ef538b1d34bd10381558..e0eebe54ea37686caabe576c0732b220f5366792 100644 Binary files a/src/aparapi/com.amd.aparapi/dist/aparapi.jar and b/src/aparapi/com.amd.aparapi/dist/aparapi.jar differ diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Config.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Config.java index 004ee360bc5b44717009635a969994fdfd054722..ce9737954d1ef2e155cfccaaebecb7c521ebbb5c 100644 --- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Config.java +++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Config.java @@ -230,4 +230,10 @@ public class Config extends ConfigJNI{ public static String getLoggerName() { return logPropName; } + + // !!! oren change -> expose pkg name beyond inheritance + public static String getPkgName() { + return propPkgName; + } + } diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java index 3514c9d0211d1c90429a8f5a9d0dedb4151e790c..2829dea93e091e2f5d64b1d216e98eeaf1836d64 100644 --- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java +++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLLoader.java @@ -34,6 +34,28 @@ public class OpenCLLoader extends OpenCLJNI{ logger.warning("Expected property os.arch to contain amd64, x86_64, x86 or i386 but instead found " + arch + " as a result we don't know which aparapi to attempt to load."); } + +/* + // !!! oren change - load mem overide lib + String memOverideLib = System.getProperty(Config.getPkgName() + ".MemOverideLib"); + if (memOverideLib != null) { + logger.fine("attempting to load mem overide lib " + memOverideLib); + + try { + // !!! note load needs complete path + Runtime.getRuntime().load(memOverideLib); + // alternatively load by lib name + // Runtime.getRuntime().loadLibrary(memOverideLib); + } catch (final UnsatisfiedLinkError e) { + logger.log(Level.SEVERE, "Check your environment. Failed to load memOverideLib native library " + memOverideLib); + } + } + else + logger.warning("Not loading mem overide lib!"); + + // !!! eof oren change +*/ + if (aparapiLibraryName != null) { logger.fine("attempting to load aparapi shared lib " + aparapiLibraryName); diff --git a/src/aparapi/samples/add/out.txt b/src/aparapi/samples/add/out.txt index 829545e27f6c9b73f7d30ec4c633386a638c4cc5..3257802912b5376a174a67ccf02055276c43a728 100644 --- a/src/aparapi/samples/add/out.txt +++ b/src/aparapi/samples/add/out.txt @@ -1,540 +1,73 @@ -typedef struct This_s{ - __global float *val$sum; - __global float *val$a; - __global float *val$b; - int passid; -}This; -int get_pass_id(This *this){ - return this->passid; +Running kernel..**** listPlatformsAndDevices **** +Platform 0{ + Name : "Altera SDK for OpenCL" + Vendor : "Altera Corporation" + Version : "OpenCL 1.0 Altera SDK for OpenCL, Version 15.0.1" + Platform contains 1 OpenCL devices + Device 0{ + Type : ACC + GlobalMemSize : 4294967296 + LocalMemSize : 16384 + MaxComputeUnits : 1 + MaxWorkGroupSizes : 2147483647 + MaxWorkItemDimensions : 3 + } +} +Platform 1{ + Name : "Intel(R) OpenCL" + Vendor : "Intel(R) Corporation" + Version : "OpenCL 1.2 LINUX" + Platform contains 1 OpenCL devices + Device 0{ + Type : CPU + GlobalMemSize : 152265568256 + LocalMemSize : 32768 + MaxComputeUnits : 16 + MaxWorkGroupSizes : 8192 + MaxWorkItemDimensions : 3 + } } -__kernel void run( - __global float *val$sum, - __global float *val$a, - __global float *val$b, - int passid -){ - This thisStruct; - This* this=&thisStruct; - this->val$sum = val$sum; - this->val$a = val$a; - this->val$b = val$b; - this->passid = passid; - { - int gid = get_global_id(0); - this->val$sum[gid] = this->val$a[gid] + this->val$b[gid]; - return; +**************** +**** getDevice **** +Platform 0{ + Name : "Altera SDK for OpenCL" + Vendor : "Altera Corporation" + Version : "OpenCL 1.0 Altera SDK for OpenCL, Version 15.0.1" + Platform contains 1 OpenCL devices + Device 0{ + Type : ACC + GlobalMemSize : 4294967296 + LocalMemSize : 16384 + MaxComputeUnits : 1 + MaxWorkGroupSizes : 2147483647 + MaxWorkItemDimensions : 3 } } - - 64.97 + 89.93 = 154.90 - 41.77 + 56.03 = 97.80 - 34.07 + 49.83 = 83.90 - 44.30 + 21.32 = 65.62 - 59.17 + 5.65 = 64.82 - 32.17 + 67.32 = 99.49 - 58.36 + 68.34 = 126.70 - 75.95 + 30.56 = 106.51 - 28.32 + 17.75 = 46.06 - 27.42 + 73.92 = 101.33 - 51.17 + 13.96 = 65.13 - 27.53 + 48.39 = 75.92 - 47.31 + 20.74 = 68.04 - 66.91 + 61.70 = 128.61 - 17.09 + 93.37 = 110.46 - 0.47 + 9.05 = 9.53 - 11.09 + 74.63 = 85.72 - 35.14 + 45.29 = 80.42 - 30.52 + 23.81 = 54.33 - 41.62 + 42.34 = 83.96 - 87.56 + 76.73 = 164.29 - 89.89 + 81.00 = 170.90 - 48.65 + 96.96 = 145.61 - 71.30 + 71.76 = 143.05 - 42.75 + 32.84 = 75.58 - 49.99 + 85.98 = 135.97 - 41.60 + 38.37 = 79.97 - 81.20 + 5.76 = 86.96 - 9.07 + 51.59 = 60.66 - 44.51 + 68.37 = 112.88 - 72.72 + 48.94 = 121.66 - 66.72 + 89.54 = 156.25 - 92.35 + 10.81 = 103.15 - 50.52 + 98.85 = 149.36 - 87.43 + 39.62 = 127.05 - 83.03 + 9.93 = 92.95 - 38.24 + 69.70 = 107.94 - 71.14 + 78.37 = 149.51 - 93.76 + 95.77 = 189.53 - 39.44 + 71.12 = 110.57 - 3.88 + 25.72 = 29.60 - 31.07 + 82.43 = 113.50 - 42.70 + 32.48 = 75.18 - 71.50 + 83.65 = 155.15 - 5.37 + 39.84 = 45.20 - 91.36 + 86.66 = 178.02 - 41.74 + 27.11 = 68.84 - 55.21 + 34.21 = 89.42 - 36.76 + 79.28 = 116.03 - 10.47 + 4.11 = 14.58 - 59.58 + 40.48 = 100.06 - 52.93 + 29.09 = 82.02 - 81.42 + 51.24 = 132.67 - 3.58 + 89.07 = 92.65 - 5.46 + 63.00 = 68.46 - 5.29 + 28.48 = 33.77 - 61.29 + 26.72 = 88.01 - 77.02 + 87.67 = 164.69 - 91.07 + 47.04 = 138.12 - 8.68 + 14.54 = 23.22 - 94.83 + 78.01 = 172.84 - 39.90 + 40.20 = 80.10 - 8.45 + 11.89 = 20.35 - 42.72 + 60.60 = 103.32 - 59.34 + 78.97 = 138.30 - 19.76 + 65.36 = 85.12 - 81.94 + 32.62 = 114.56 - 37.12 + 94.14 = 131.26 - 78.37 + 41.60 = 119.97 - 34.33 + 81.41 = 115.74 - 77.44 + 49.24 = 126.68 - 92.50 + 71.16 = 163.66 - 79.92 + 88.05 = 167.97 - 96.18 + 44.38 = 140.56 - 77.22 + 57.38 = 134.59 - 94.44 + 4.50 = 98.94 - 96.13 + 81.60 = 177.72 - 52.39 + 8.33 = 60.72 - 53.38 + 66.89 = 120.27 - 85.48 + 13.59 = 99.07 - 0.06 + 65.68 = 65.75 - 86.11 + 37.84 = 123.95 - 98.31 + 39.68 = 137.99 - 84.22 + 88.39 = 172.61 - 0.57 + 84.64 = 85.21 - 31.95 + 27.73 = 59.68 - 95.13 + 43.12 = 138.25 - 66.19 + 84.97 = 151.16 - 40.55 + 85.07 = 125.62 - 82.12 + 10.13 = 92.26 - 36.64 + 80.27 = 116.91 - 45.90 + 95.29 = 141.19 - 69.65 + 21.59 = 91.24 - 85.46 + 53.95 = 139.42 - 25.60 + 83.42 = 109.02 - 24.41 + 58.88 = 83.29 - 86.89 + 15.90 = 102.79 - 66.05 + 86.83 = 152.88 - 14.92 + 82.09 = 97.01 - 92.06 + 8.89 = 100.95 - 74.02 + 42.86 = 116.88 - 13.51 + 94.70 = 108.21 - 70.59 + 81.94 = 152.54 - 0.62 + 70.12 = 70.74 - 65.29 + 42.55 = 107.83 - 22.01 + 78.95 = 100.96 - 65.96 + 15.88 = 81.84 - 44.49 + 51.63 = 96.12 - 24.30 + 81.99 = 106.29 - 79.67 + 76.35 = 156.02 - 40.12 + 53.67 = 93.80 - 15.25 + 1.46 = 16.71 - 23.71 + 15.50 = 39.21 - 35.66 + 71.75 = 107.41 - 79.06 + 81.44 = 160.51 - 19.14 + 16.09 = 35.23 - 48.44 + 17.39 = 65.83 - 96.67 + 58.68 = 155.35 - 2.38 + 87.32 = 89.70 - 71.81 + 22.23 = 94.04 - 68.06 + 85.94 = 154.00 - 29.83 + 27.90 = 57.74 - 64.03 + 14.61 = 78.65 - 9.88 + 73.41 = 83.29 - 49.18 + 42.33 = 91.51 - 74.01 + 89.03 = 163.04 - 0.24 + 68.85 = 69.09 - 83.76 + 29.04 = 112.80 - 3.37 + 73.57 = 76.94 - 86.45 + 55.20 = 141.65 - 82.70 + 89.94 = 172.63 - 21.06 + 8.59 = 29.65 - 91.52 + 93.06 = 184.58 - 76.70 + 46.01 = 122.71 - 60.37 + 25.83 = 86.20 - 75.28 + 38.25 = 113.53 - 30.12 + 17.65 = 47.77 - 4.78 + 88.67 = 93.45 - 98.07 + 69.04 = 167.11 - 98.94 + 32.85 = 131.79 - 70.36 + 85.20 = 155.57 - 45.52 + 22.54 = 68.06 - 44.91 + 42.32 = 87.23 - 5.87 + 80.54 = 86.42 - 45.63 + 61.18 = 106.80 - 46.08 + 37.10 = 83.18 - 91.05 + 44.73 = 135.78 - 11.93 + 22.82 = 34.74 - 8.15 + 8.35 = 16.50 - 28.51 + 98.41 = 126.92 - 95.69 + 94.64 = 190.33 - 68.71 + 47.41 = 116.11 - 0.50 + 18.33 = 18.83 - 14.47 + 44.14 = 58.61 - 94.73 + 30.77 = 125.50 - 29.63 + 36.76 = 66.39 - 32.63 + 28.78 = 61.40 - 73.80 + 52.31 = 126.11 - 21.11 + 57.73 = 78.84 - 12.91 + 39.53 = 52.43 - 60.16 + 75.10 = 135.26 - 24.21 + 13.72 = 37.93 - 96.24 + 47.36 = 143.60 - 50.78 + 57.74 = 108.52 - 84.67 + 50.48 = 135.15 - 33.77 + 63.24 = 97.02 - 75.51 + 32.20 = 107.72 - 39.58 + 67.20 = 106.78 - 21.51 + 73.10 = 94.61 - 3.29 + 50.00 = 53.29 - 56.24 + 52.36 = 108.60 - 29.93 + 13.71 = 43.64 - 6.18 + 84.31 = 90.49 - 30.56 + 51.48 = 82.05 - 81.19 + 42.19 = 123.39 - 21.71 + 52.65 = 74.36 - 34.57 + 26.63 = 61.19 - 83.31 + 61.78 = 145.08 - 95.90 + 68.13 = 164.03 - 53.03 + 24.58 = 77.61 - 58.09 + 75.39 = 133.48 - 32.89 + 8.89 = 41.78 - 42.96 + 53.83 = 96.79 - 97.89 + 84.33 = 182.22 - 79.26 + 22.86 = 102.12 - 25.71 + 81.29 = 107.01 - 1.53 + 54.19 = 55.72 - 11.78 + 26.25 = 38.03 - 18.41 + 38.67 = 57.08 - 94.20 + 68.75 = 162.95 - 5.27 + 64.42 = 69.68 - 89.84 + 73.15 = 162.99 - 47.31 + 55.32 = 102.63 - 34.40 + 47.54 = 81.94 - 96.77 + 75.48 = 172.25 - 26.87 + 21.54 = 48.41 - 10.37 + 52.75 = 63.11 - 2.12 + 65.05 = 67.18 - 1.95 + 12.38 = 14.33 - 93.81 + 60.68 = 154.49 - 79.11 + 40.53 = 119.64 - 4.55 + 4.01 = 8.56 - 32.32 + 16.39 = 48.72 - 70.00 + 8.13 = 78.13 - 10.63 + 61.85 = 72.48 - 89.31 + 31.18 = 120.50 - 48.53 + 57.83 = 106.36 - 95.76 + 29.28 = 125.03 - 5.76 + 67.80 = 73.56 - 57.92 + 60.88 = 118.80 - 43.32 + 90.44 = 133.76 - 34.73 + 33.45 = 68.18 - 87.59 + 36.01 = 123.61 - 55.57 + 88.12 = 143.69 - 27.08 + 83.90 = 110.99 - 60.38 + 64.22 = 124.60 - 46.15 + 32.34 = 78.49 - 14.30 + 71.68 = 85.98 - 24.24 + 95.71 = 119.95 - 6.20 + 26.48 = 32.68 - 19.78 + 39.51 = 59.29 - 51.29 + 72.05 = 123.34 - 13.68 + 68.75 = 82.44 - 43.98 + 17.75 = 61.73 - 9.13 + 1.48 = 10.61 - 49.48 + 74.38 = 123.86 - 71.38 + 65.95 = 137.33 - 79.65 + 56.54 = 136.19 - 44.27 + 57.42 = 101.69 - 72.27 + 51.47 = 123.74 - 98.47 + 78.27 = 176.74 - 81.15 + 25.05 = 106.20 - 50.74 + 64.10 = 114.84 - 89.40 + 46.95 = 136.35 - 42.95 + 67.41 = 110.36 - 77.75 + 69.03 = 146.78 - 85.22 + 30.47 = 115.69 - 15.82 + 83.68 = 99.50 - 48.23 + 29.52 = 77.75 - 95.28 + 22.24 = 117.51 - 36.52 + 13.35 = 49.87 - 90.69 + 27.39 = 118.08 - 86.72 + 91.32 = 178.04 - 16.77 + 48.11 = 64.88 - 12.52 + 48.01 = 60.53 - 48.23 + 60.81 = 109.04 - 61.62 + 74.84 = 136.45 - 82.89 + 16.26 = 99.15 - 58.94 + 12.45 = 71.39 - 57.57 + 48.16 = 105.73 - 85.24 + 92.17 = 177.41 - 71.63 + 56.33 = 127.97 - 80.43 + 49.25 = 129.68 - 33.50 + 95.25 = 128.74 - 66.89 + 56.65 = 123.55 - 21.82 + 56.79 = 78.61 - 59.85 + 93.78 = 153.63 - 44.97 + 35.13 = 80.10 - 68.68 + 21.59 = 90.26 - 89.70 + 1.25 = 90.96 - 96.36 + 82.65 = 179.01 - 73.48 + 94.52 = 168.00 - 12.29 + 83.05 = 95.34 - 53.23 + 59.98 = 113.21 - 8.04 + 41.15 = 49.19 - 98.11 + 20.93 = 119.04 - 45.16 + 7.99 = 53.15 - 3.46 + 78.95 = 82.41 - 69.74 + 73.57 = 143.31 - 9.30 + 75.66 = 84.96 - 98.95 + 73.97 = 172.92 - 87.40 + 34.30 = 121.70 - 81.88 + 5.24 = 87.12 - 78.30 + 22.77 = 101.07 - 98.79 + 31.91 = 130.70 - 91.99 + 44.55 = 136.54 - 90.90 + 50.05 = 140.96 - 34.12 + 68.98 = 103.10 - 6.38 + 28.14 = 34.52 - 83.40 + 58.25 = 141.64 - 7.03 + 2.32 = 9.35 - 25.16 + 34.73 = 59.89 - 5.14 + 47.05 = 52.19 - 41.31 + 59.66 = 100.97 - 90.11 + 76.88 = 166.99 - 67.22 + 61.35 = 128.57 - 60.60 + 60.75 = 121.35 - 52.56 + 59.99 = 112.55 - 99.21 + 46.09 = 145.30 - 5.07 + 84.49 = 89.56 - 14.39 + 96.99 = 111.38 - 53.51 + 66.78 = 120.29 - 26.63 + 47.78 = 74.41 - 39.39 + 28.88 = 68.28 - 94.75 + 61.74 = 156.48 - 35.81 + 49.04 = 84.85 - 62.09 + 62.76 = 124.86 - 96.05 + 4.49 = 100.54 - 52.05 + 77.65 = 129.70 - 54.73 + 40.67 = 95.40 - 57.85 + 85.88 = 143.73 - 39.74 + 9.12 = 48.85 - 52.34 + 24.88 = 77.22 - 4.78 + 49.82 = 54.60 - 90.23 + 39.36 = 129.59 - 58.87 + 67.59 = 126.46 - 87.21 + 95.43 = 182.64 - 51.93 + 66.64 = 118.57 - 38.58 + 2.31 = 40.89 - 73.69 + 62.59 = 136.29 - 83.10 + 97.51 = 180.61 - 36.81 + 87.19 = 124.00 - 27.08 + 55.18 = 82.26 - 44.58 + 37.15 = 81.73 - 18.39 + 71.07 = 89.47 - 88.59 + 95.84 = 184.43 - 0.32 + 63.05 = 63.37 - 82.44 + 73.96 = 156.41 - 81.32 + 1.00 = 82.31 - 13.70 + 73.97 = 87.67 - 28.13 + 46.50 = 74.63 - 88.28 + 81.57 = 169.84 - 27.01 + 39.18 = 66.19 - 49.09 + 27.44 = 76.53 - 60.65 + 13.99 = 74.64 - 73.66 + 42.47 = 116.12 - 16.86 + 71.85 = 88.71 - 94.34 + 50.36 = 144.70 - 79.03 + 54.46 = 133.50 - 39.30 + 3.27 = 42.57 - 48.35 + 93.49 = 141.84 - 62.07 + 67.85 = 129.92 - 12.72 + 14.14 = 26.86 - 13.53 + 11.93 = 25.46 - 8.68 + 73.62 = 82.31 - 11.21 + 25.32 = 36.53 - 18.90 + 6.17 = 25.07 - 77.66 + 32.17 = 109.84 - 10.19 + 27.85 = 38.05 - 52.48 + 16.80 = 69.28 - 44.79 + 27.11 = 71.90 - 30.19 + 90.18 = 120.37 - 91.01 + 29.46 = 120.46 - 40.58 + 69.97 = 110.56 - 18.62 + 78.97 = 97.59 - 66.86 + 33.58 = 100.44 - 88.94 + 22.86 = 111.80 - 92.56 + 30.45 = 123.00 - 39.83 + 20.72 = 60.55 - 78.39 + 7.91 = 86.30 - 21.98 + 25.33 = 47.30 - 96.70 + 12.86 = 109.56 - 64.29 + 97.98 = 162.27 - 93.00 + 80.53 = 173.53 - 33.41 + 28.21 = 61.61 - 1.61 + 11.38 = 12.99 - 5.25 + 24.89 = 30.14 - 15.54 + 67.06 = 82.60 - 84.97 + 34.03 = 119.00 - 99.66 + 87.22 = 186.88 - 95.68 + 16.78 = 112.46 - 40.26 + 40.60 = 80.86 - 6.10 + 90.80 = 96.90 - 44.57 + 75.63 = 120.20 - 82.69 + 97.68 = 180.37 - 39.12 + 28.52 = 67.64 - 32.47 + 9.84 = 42.32 - 67.21 + 80.18 = 147.39 - 49.82 + 31.31 = 81.13 - 52.66 + 27.18 = 79.84 - 92.16 + 78.48 = 170.64 - 79.47 + 46.58 = 126.06 - 87.83 + 49.53 = 137.36 - 35.32 + 89.44 = 124.76 - 22.48 + 3.90 = 26.38 - 80.32 + 33.95 = 114.27 - 59.66 + 76.98 = 136.64 - 32.18 + 65.19 = 97.37 - 25.82 + 49.52 = 75.34 - 3.69 + 25.87 = 29.55 - 30.39 + 75.76 = 106.15 - 89.11 + 99.88 = 188.99 - 97.56 + 50.24 = 147.81 - 72.60 + 48.91 = 121.51 - 57.77 + 59.01 = 116.78 - 23.21 + 21.21 = 44.42 - 84.45 + 17.80 = 102.25 - 48.98 + 91.23 = 140.21 - 64.10 + 47.20 = 111.30 - 5.57 + 68.97 = 74.54 - 56.42 + 72.65 = 129.07 - 93.57 + 38.70 = 132.27 - 35.16 + 65.92 = 101.08 - 33.28 + 48.15 = 81.43 - 0.24 + 63.68 = 63.92 - 75.48 + 71.29 = 146.77 - 16.81 + 9.07 = 25.89 - 92.58 + 10.48 = 103.07 - 68.09 + 62.07 = 130.16 - 95.73 + 87.21 = 182.93 - 5.15 + 16.24 = 21.39 - 40.21 + 94.29 = 134.50 - 39.35 + 40.60 = 79.95 - 14.35 + 47.32 = 61.67 - 50.66 + 38.06 = 88.73 - 54.83 + 77.93 = 132.76 - 78.69 + 74.82 = 153.51 - 95.42 + 57.58 = 153.00 - 22.35 + 88.47 = 110.83 - 35.49 + 26.80 = 62.29 - 98.78 + 27.32 = 126.09 - 9.43 + 31.92 = 41.35 - 2.33 + 7.60 = 9.93 - 49.13 + 39.01 = 88.15 - 60.74 + 1.47 = 62.22 - 57.62 + 3.16 = 60.78 - 6.70 + 84.18 = 90.88 - 54.04 + 19.77 = 73.80 - 70.65 + 75.97 = 146.62 - 7.56 + 74.69 = 82.25 - 53.36 + 11.32 = 64.68 - 51.14 + 39.61 = 90.75 - 55.10 + 56.46 = 111.56 - 54.48 + 30.30 = 84.78 - 22.54 + 74.34 = 96.88 - 40.30 + 56.56 = 96.86 - 24.24 + 5.70 = 29.94 - 47.86 + 44.84 = 92.70 - 80.58 + 94.75 = 175.32 - 83.30 + 7.18 = 90.47 - 55.40 + 38.36 = 93.76 - 47.68 + 63.29 = 110.97 - 62.87 + 78.85 = 141.73 - 0.65 + 96.76 = 97.41 - 55.44 + 92.09 = 147.54 - 99.76 + 40.75 = 140.51 - 36.55 + 45.19 = 81.74 - 54.16 + 43.61 = 97.77 - 85.18 + 10.88 = 96.06 - 44.70 + 61.06 = 105.76 - 88.59 + 29.29 = 117.88 - 92.11 + 57.51 = 149.61 - 53.92 + 2.26 = 56.18 - 99.87 + 76.46 = 176.33 - 10.17 + 89.83 = 100.00 - 59.08 + 57.55 = 116.63 - 17.49 + 54.56 = 72.05 - 78.82 + 35.99 = 114.81 - 72.83 + 64.85 = 137.68 - 97.42 + 59.25 = 156.67 - 37.76 + 25.62 = 63.39 - 37.70 + 95.18 = 132.88 - 17.29 + 51.98 = 69.27 - 92.15 + 86.17 = 178.32 - 87.11 + 39.20 = 126.30 - 63.01 + 24.56 = 87.57 - 0.45 + 11.44 = 11.89 - 36.46 + 86.02 = 122.48 - 5.74 + 50.46 = 56.21 - 40.22 + 59.67 = 99.89 - 71.45 + 15.62 = 87.07 - 19.54 + 56.38 = 75.92 - 45.37 + 66.93 = 112.30 - 67.65 + 60.01 = 127.66 - 72.44 + 94.11 = 166.55 - 63.92 + 10.12 = 74.04 - 57.18 + 36.08 = 93.26 - 5.17 + 69.64 = 74.81 - 84.65 + 48.05 = 132.70 - 64.08 + 35.52 = 99.60 - 7.52 + 36.05 = 43.57 - 72.02 + 96.93 = 168.95 - 65.62 + 32.51 = 98.14 - 3.39 + 31.29 = 34.68 - 29.34 + 30.73 = 60.06 - 33.31 + 56.06 = 89.37 - 48.24 + 30.84 = 79.08 - 51.29 + 21.46 = 72.75 - 42.68 + 75.53 = 118.21 - 39.68 + 37.84 = 77.52 - 97.23 + 69.72 = 166.95 - 67.72 + 80.28 = 148.00 - 2.43 + 85.23 = 87.66 - 9.41 + 2.46 = 11.87 - 43.88 + 48.87 = 92.75 - 66.63 + 22.20 = 88.83 - 56.40 + 0.21 = 56.60 - 67.66 + 11.69 = 79.35 - 44.69 + 84.12 = 128.81 - 15.72 + 36.95 = 52.67 - 22.18 + 12.29 = 34.47 - 82.09 + 43.15 = 125.24 - 34.56 + 87.70 = 122.26 - 74.12 + 74.91 = 149.03 - 15.72 + 36.75 = 52.47 - 59.46 + 54.27 = 113.73 - 70.41 + 34.64 = 105.05 - 95.20 + 12.74 = 107.93 - 90.00 + 41.52 = 131.52 - 92.54 + 88.40 = 180.93 - 85.70 + 89.03 = 174.73 - 46.28 + 54.40 = 100.68 - 66.93 + 70.22 = 137.15 - 71.90 + 40.71 = 112.61 - 1.73 + 89.04 = 90.77 - 22.33 + 47.65 = 69.98 - 70.70 + 20.13 = 90.83 - 1.96 + 26.58 = 28.54 - 66.36 + 14.43 = 80.79 - 55.46 + 21.06 = 76.51 - 95.78 + 61.47 = 157.25 - 85.77 + 19.76 = 105.54 +Chosen Platform/Device: Altera SDK for OpenCL/ACC +**************** +**************** +Elapsed time in milli: 3024 +Elapsed time in sec : 3 +**************** +**************** Showing first 20 results **************** + 95.18 + 39.00 = 134.18 + 30.58 + 54.20 = 84.78 + 32.90 + 81.67 = 114.57 + 32.05 + 39.04 = 71.10 + 18.24 + 60.77 = 79.01 + 38.14 + 95.92 = 134.07 + 27.46 + 31.08 = 58.54 + 53.22 + 29.84 = 83.06 + 36.32 + 0.18 = 36.50 + 85.25 + 96.90 = 182.15 + 93.04 + 29.68 = 122.71 + 47.08 + 2.61 = 49.69 + 38.71 + 39.50 = 78.20 + 68.20 + 14.97 = 83.16 + 49.28 + 88.51 = 137.80 + 73.48 + 29.64 = 103.12 + 91.85 + 92.86 = 184.70 + 74.12 + 95.34 = 169.46 + 71.66 + 21.96 = 93.62 + 20.19 + 18.91 = 39.10 + allocate_common 1000000 500002 0x581b97430 allocate_common 1000000 500002 0x581f67d70 allocate_common 1000000 500002 0x582f852f0 findPlatformConfigFromFullName: Altera SDK for OpenCL diff --git a/src/aparapi/samples/add/selectPlatform.sh b/src/aparapi/samples/add/selectPlatform.sh index 386ea6e808ac110d0d514f39957587451f59291d..722869dc31d0c386a2c24b3c17b590212c335a8e 100644 --- a/src/aparapi/samples/add/selectPlatform.sh +++ b/src/aparapi/samples/add/selectPlatform.sh @@ -17,10 +17,10 @@ # sh selectPlatform.sh AMD CPU 0 source std # sh selectPlatform.sh Altera ACC 0 binary fpga -java \ - -Djava.library.path=../../com.amd.aparapi.jni/dist.$5 \ - -classpath ../../com.amd.aparapi/dist/aparapi.jar:add.jar \ - com.amd.aparapi.sample.add.MainSelectPlatform $1 $2 $3 $4 +#java \ +# -Djava.library.path=../../com.amd.aparapi.jni/dist.$5 \ +# -classpath ../../com.amd.aparapi/dist/aparapi.jar:add.jar \ +# com.amd.aparapi.sample.add.MainSelectPlatform $1 $2 $3 $4 # # other script variants uncomment to use -> @@ -39,4 +39,13 @@ java \ # -classpath ../../com.amd.aparapi/dist/aparapi.jar:add.jar \ # com.amd.aparapi.sample.add.MainSelectPlatform $1 $2 $3 +# to inc logging level +#-Dcom.amd.aparapi.logLevel=FINE \ +#-Dcom.amd.aparapi.MemOverideLib=[abs path to MemOverideLib.so] \ + +java \ + -Djava.library.path=../../com.amd.aparapi.jni/dist.$5 \ + -classpath ../../com.amd.aparapi/dist/aparapi.jar:add.jar \ + com.amd.aparapi.sample.add.MainSelectPlatform $1 $2 $3 $4 +