Age | Commit message (Collapse) | Author |
|
and updated CREDITS
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
This test was added as an aid to debug a particular Khronos test, which
is now fixed, so is being removed.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Fix prototype so printf() can be called from kernels.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Khronos_conformance
Merge in fix to sanity test: test kernel.
|
|
|
|
Also, updated CL_DEVICE_LOCAL_MEM_SIZE and Buffer::Buffer() constructor
so that Khrnos basic "prefetch" test can pass.
Previously, it was trying to allocate huge global buffers (computed based
on the LOCAL_MEM_SIZE) and was failing.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
|
|
new kernel.
The new kernel push back into kernellist at createKernel() function already.
|
|
Some Khronos basic tests were crashing with huge work group sizes.
This patch adjusts values down so that Khronos basic tests local_arg_def
and local_kernel_def can now pass.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Buffers in local space, passed as kernel parameters, are allocated at runtime
by shamrock.
This patch ensures such allocated memory is aligned for maximum OpenCL data
type alignment (double16).
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Previously, shamrock was not able to get address space attributes from
LLVM's getAddressSpace() API for function (kernel) arguments, as they
didn't exist in the generated LLVM IR.
Now, we use a clang option to force address space mapping, causing
addrspace(<n>) attrs to be inserted.
See the discussion here:
https://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg76370.html
This was a necessary step to get many of the Khronos basic tests involving
local variables and parameters to not crash.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Redefined nextafter to use __builtin_nextafterf(), and INFINITY to
use __builtin_inff().
This enables the Khronos basic test kernel_limit_constants to pass.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Previously, shamrock was generating load instructions in the kernel stub with
a strict type alignment, which was not being followed by the argument
marshalling code.
This resulted in a NEON vld1 instruction failing in the kernel stub,
and trashing a base register which was not 16 byte aligned.
Now the marshalling code calculates the proper alignement for each argument,
and is based on a buffer aligned to double16 to begin with.
With this patch, all the vector sub-tests of the Khronos basic_parameter_types
test now pass.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Previously, clCreateBuffer() was using malloc to allocate buffers, which
caused havoc with NEON instructions expecting 128 bit alignment for float4
vectors.
Now, use posix_memallign() to ensure alignment meets requirements of largest
OpenCL data type (double16).
Also, update clGetDeviceInfo()'s CL_DEVICE_MEM_BASE_ADDR_ALIGN and
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE accordingly.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
JIT's getPointerToFunction() call was redundant and deprecated by
getFunctionAddress().
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
See tests/basic_parameter_types.txt for usage.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
This is a continuation of the clover OpenCL project:
http://people.freedesktop.org/~steckdenis/clover
based on the contributions from Texas Instruments for Keystone II DSP device:
git.ti.com/opencl
and adding contributions from Linaro for ARM CPU-only support.
See README.txt for more info, and build instructions.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|