opencl/ti-opencl.git
15 months agoMerge branch 'hotfix/v01.02.00.02' master v01.02.00.02
Yuan Zhao [Mon, 23 Dec 2019 19:32:41 +0000 (13:32 -0600)]
Merge branch 'hotfix/v01.02.00.02'

15 months agoIPU1 eary boot needs to set EVE clock to OPP High
Yuan Zhao [Mon, 23 Dec 2019 19:03:11 +0000 (13:03 -0600)]
IPU1 eary boot needs to set EVE clock to OPP High

- Previously, IPU1 code will read DSP OPP mode first, then program
  EVE frequency accordingly.  If DSP is OPP High, then EVE is put
  into OPP High, otherwise, OPP Normal.
- Now IPU1 gets early boot, before DSP frequency is programmed,
  which happens at the end of u-boot, just before starting Linux kernel.
- Need to put EVE frequency to OPP High
- MCT-1234

15 months agoStart hotfix v01.02.00.02
Yuan Zhao [Mon, 23 Dec 2019 19:17:53 +0000 (13:17 -0600)]
Start hotfix v01.02.00.02

15 months agoMerge branch 'hotfix/v01.02.00.01' v01.02.00.01
Yuan Zhao [Tue, 17 Dec 2019 18:04:20 +0000 (12:04 -0600)]
Merge branch 'hotfix/v01.02.00.01'

15 months agoFix IPU1 l3_noc message during remoteproc
Yuan Zhao [Tue, 17 Dec 2019 16:13:23 +0000 (10:13 -0600)]
Fix IPU1 l3_noc message during remoteproc

- Happens in CoreSDK filesystem
- Recommended fix is to configure and use watchdog timers in IPU1 firmware
- Fix is tested and confirmed by CoreSDK team
- MCT-1232

15 months agoStart hotfix v01.02.00.01
Yuan Zhao [Tue, 17 Dec 2019 16:10:01 +0000 (10:10 -0600)]
Start hotfix v01.02.00.01

16 months agoMerge branch 'release/v01.02.00' v01.02.00.00
Yuan Zhao [Sun, 8 Dec 2019 04:59:16 +0000 (22:59 -0600)]
Merge branch 'release/v01.02.00'

16 months agoUpdate manifest for OpenCL v01.02.00
Yuan Zhao [Sun, 8 Dec 2019 04:39:28 +0000 (22:39 -0600)]
Update manifest for OpenCL v01.02.00

- SRAS00006792

16 months agoAdd v01.02.00.x into release notes
Yuan Zhao [Sun, 8 Dec 2019 04:00:54 +0000 (22:00 -0600)]
Add v01.02.00.x into release notes

- Clean up documentation build warnings

16 months agoFix for clGetKernelArgInfo incorrect behavior for CL_KERNEL_ARG_TYPE_QUALIFIER
Gaurav Mitra [Fri, 6 Dec 2019 00:04:20 +0000 (18:04 -0600)]
Fix for clGetKernelArgInfo incorrect behavior for CL_KERNEL_ARG_TYPE_QUALIFIER

According to clarification from Khronos in a previous pull request:
https://github.com/KhronosGroup/OpenCL-CTS/pull/141, the
CL_KERNEL_ARG_TYPE_QUALIFIER field for const values must always
return CL_KERNEL_ARG_TYPE_NONE even if the const keyword is specified
for the argument.

Return CL_KERNEL_ARG_TYPE_CONST only for pointers and not const values.

(MCT-1230)

16 months agoHandle CL_MEM_HOST_* flags during sub buffer creation
Gaurav Mitra [Tue, 3 Dec 2019 22:18:36 +0000 (16:18 -0600)]
Handle CL_MEM_HOST_* flags during sub buffer creation

(MCT-1229)

16 months agoPrevent IPU from sleeping before attaching to EVEs
Yuan Zhao [Tue, 3 Dec 2019 22:11:06 +0000 (16:11 -0600)]
Prevent IPU from sleeping before attaching to EVEs

- MCT-1228

16 months agoOpenCL 1.2 separation of program compilation and linking
Gaurav Mitra [Fri, 1 Nov 2019 22:01:55 +0000 (17:01 -0500)]
OpenCL 1.2 separation of program compilation and linking

    - Implemention of clCompileProgram() and clLinkProgram() APIs
        - Added support to program loadBinary for compiled objects and libraries
        - Added two examples
            - vecadd_compile_link: Demonstrate compile and link separation
            - vecadd_compile_link_loadbinary: Demonstrate loadBinary with
                                              compile and link separation
    - Added support for clProgramBuildInfo attribute CL_PROGRAM_BINARY_TYPE
    - Use of OpenCL 1.2 version number, new readme for release, update
      example documentation

(MCT-890, MCT-891, MCT-892)

17 months agoFix carveout block allocation in resource table
Yuan Zhao [Wed, 30 Oct 2019 01:24:05 +0000 (20:24 -0500)]
Fix carveout block allocation in resource table

- Carveout blocks in the resource table could be allocated in two different
  ways.  One is CMA (with reserved memory marked as "reusable"), which will
  use 1MB alignment.  The other is DMA pool (with reserved memory marked as
  "no-map"), which will round up block size and alignment to power of 2.
  In DMA pool case, if not careful, carveout blocks could end up not able
  to be allocated in the available memory, while CMA succeeds.
- This commit addresses the possibe carveout block allocation failure
  in DMA pool case. In particular,
  - AM57 DSP: 6MB carveout block is split into 4MB and 2MB.
    - Without this fix, DMA pool allocation actually will fail on DSP2
      due to its smaller 8MB reserved memory, with its first 1MB being
      allocated to VRING/IPC.
  - AM57 IPU1: slight carveout block size adjustment.
    - Take this opportunity to make code/data blocks tighter, so that
      unused memory can be returned to Linux in "reusable" allocation.
- MCT-1225, LCPD-17021, LCPD-17331

18 months agoMerge tag 'v01.01.19.02' into develop
Yuan Zhao [Mon, 30 Sep 2019 14:37:48 +0000 (09:37 -0500)]
Merge tag 'v01.01.19.02' into develop

OpenCL 1.1.19.02 for PSDK 6.1

18 months agoMerge branch 'hotfix/v01.01.19.02' v01.01.19.02
Yuan Zhao [Mon, 30 Sep 2019 14:37:12 +0000 (09:37 -0500)]
Merge branch 'hotfix/v01.01.19.02'

18 months agoStart hotfix v01.01.19.02
Yuan Zhao [Fri, 27 Sep 2019 19:48:02 +0000 (14:48 -0500)]
Start hotfix v01.01.19.02

- to use updated TIDL library build

18 months agoMerge tag 'v01.01.19.01' into develop
Yuan Zhao [Mon, 16 Sep 2019 19:42:22 +0000 (14:42 -0500)]
Merge tag 'v01.01.19.01' into develop

OpenCL v01.01.19.01 for Processor SDK 6.1

18 months agoMerge branch 'hotfix/v01.01.19.01' v01.01.19.01
Yuan Zhao [Mon, 16 Sep 2019 19:41:36 +0000 (14:41 -0500)]
Merge branch 'hotfix/v01.01.19.01'

OpenCL v01.01.19.01 for Processor SDK 6.1

18 months agoOpenCL 1.1.19.01 for new TIDL library
Yuan Zhao [Fri, 13 Sep 2019 20:36:06 +0000 (15:36 -0500)]
OpenCL 1.1.19.01 for new TIDL library

- new TIDL library with MobileNetV2 support
- PLSDK-2956

19 months agoFix platforms example for AM57 RTOS and K2x
Yuan Zhao [Mon, 9 Sep 2019 06:18:52 +0000 (01:18 -0500)]
Fix platforms example for AM57 RTOS and K2x

- C++ Context throw exception if queried device type does not exist.
  Check if devices exist first before getting devices.
- Fix AM57 RTOS compilation warnings
- MCT-1218, MCT-1220

19 months agoFix platforms example for AM57 RTOS and K2x v01.01.19.00
Yuan Zhao [Mon, 9 Sep 2019 06:18:52 +0000 (01:18 -0500)]
Fix platforms example for AM57 RTOS and K2x

- C++ Context throw exception if queried device type does not exist.
  Check if devices exist first before getting devices.
- Fix AM57 RTOS compilation warnings
- MCT-1218, MCT-1220

19 months agoMerge tag 'v01.01.19.00' into develop
Yuan Zhao [Fri, 6 Sep 2019 21:40:17 +0000 (16:40 -0500)]
Merge tag 'v01.01.19.00' into develop

OpenCL 1.1.19.00 for Processor 6.1

19 months agoMerge branch 'release/v01.01.19.00'
Yuan Zhao [Fri, 6 Sep 2019 21:39:29 +0000 (16:39 -0500)]
Merge branch 'release/v01.01.19.00'

OpenCL 1.1.19.00 for Processor SDK 6.1

19 months agoUpdate platform examples to query all devices
Yuan Zhao [Fri, 6 Sep 2019 20:50:37 +0000 (15:50 -0500)]
Update platform examples to query all devices

- including the CUSTOM devices
- Update TIDL library build to yocto build
- MCT-1220

19 months agoFix warnings in persistent examples
Gaurav Mitra [Fri, 6 Sep 2019 15:41:14 +0000 (10:41 -0500)]
Fix warnings in persistent examples

(MCT-1218)

19 months agoAdd fix for CL_DEVICE_TYPE_ALL in Platform getDevices
Gaurav Mitra [Thu, 5 Sep 2019 22:40:28 +0000 (17:40 -0500)]
Add fix for CL_DEVICE_TYPE_ALL in Platform getDevices

(MCT-1220)

19 months agoBugfix for platform getDevices and readme doc update
Gaurav Mitra [Thu, 5 Sep 2019 16:23:28 +0000 (11:23 -0500)]
Bugfix for platform getDevices and readme doc update

    - When querying for the number of DSP devices from the platform, EVE
      devices were also being included in the count
    - Fix logic to not include EVE/CUSTOM devices when querying for
      ACCELERATOR|CUSTOM devices
    - Update readme document index

(MCT-1220)

19 months agoUpdate manifest for version 1.1.19.00
Yuan Zhao [Tue, 3 Sep 2019 20:24:19 +0000 (15:24 -0500)]
Update manifest for version 1.1.19.00

SRAS#:SRAS00006550

19 months agoBuild against the latest TIDL library
Yuan Zhao [Fri, 30 Aug 2019 18:42:17 +0000 (13:42 -0500)]
Build against the latest TIDL library

- MCT-1217

19 months agoUpdate build using the latest PSDK 6.1 nightly
Yuan Zhao [Wed, 28 Aug 2019 21:55:17 +0000 (16:55 -0500)]
Update build using the latest PSDK 6.1 nightly

19 months agoSet release version to v01.01.19 and OpenCL version to 1.1
Gaurav Mitra [Fri, 23 Aug 2019 19:50:15 +0000 (14:50 -0500)]
Set release version to v01.01.19 and OpenCL version to 1.1

19 months agoRemove race condition in AM57 monitor makefiles
Gaurav Mitra [Fri, 30 Aug 2019 21:53:07 +0000 (16:53 -0500)]
Remove race condition in AM57 monitor makefiles

    - The obj directory creation during the monitor build process was
    subject to a potential race condition since the dependency chain did
    not guarantee it.
    - Fix the dependency chain such that the obj directory is always
    available before an obj file is built

(MCT-1219)

20 months agoRemove compile time warnings for OpenCL examples
Gaurav Mitra [Wed, 31 Jul 2019 04:39:39 +0000 (04:39 +0000)]
Remove compile time warnings for OpenCL examples

    - Use -Wall when compiling OpenCL examples
    - Fix issues leading to compiler time warnings for examples

(MCT-1218)

19 months agoOpenCL 1.2 printf with support for vector data types
Gaurav Mitra [Tue, 7 Aug 2018 19:21:55 +0000 (14:21 -0500)]
OpenCL 1.2 printf with support for vector data types

    - Add support for disabling [core %d] addition to printf messages
      as per OpenCL 1.2 specification using a new environment variable,
      TI_OCL_PRINTF_COREID
    - Switch format identifier flag _MFLL to _MFL in _printfi.c to handle
      cl_long and cl_ulong vectors.
    - Fixed printf +inf to inf
    - Fixed printf #X case from 0x0 to 0
    - Fix alignment for longlong2 and double2 vector data types
        - Use modified va_arg_128bit for double2 and longlong2
    - Update llvm-3.6 arm build to use version created with gcc-arm-8.3.0
    - Update debug_printf doc to reflect new features
    - Added _ltoa function definition since it is not available for
      cgt versions 8.3.2 and lower.

(MCT-888)

20 months agoUpdate build using the latest PSDK 6.0.0.7 release
Yuan Zhao [Wed, 31 Jul 2019 15:19:59 +0000 (10:19 -0500)]
Update build using the latest PSDK 6.0.0.7 release

20 months agoRevert "Move EVE runtime memory into IPU1 DTS reserved mem"
Yuan Zhao [Tue, 30 Jul 2019 20:53:24 +0000 (15:53 -0500)]
Revert "Move EVE runtime memory into IPU1 DTS reserved mem"

This reverts commit 90aa292476f4b9153db6dc6742446876ae06718b.

- Moving EVE firmware runtime memory out of CMEM to IPU memory
  does NOT save any memory, because we still cannot get rid of
  first 32MB reserved CMEM due to OpenMP requirement.
  Revert the memory movement, put EVE firmware runtime memory
  back in first 32MB of reserved CMEM.
- MCT-1141

20 months agoAdded missing bandwidth.h to the edmabw example
Gaurav Mitra [Wed, 31 Jul 2019 15:10:00 +0000 (10:10 -0500)]
Added missing bandwidth.h to the edmabw example

(MCT-1190)

21 months agoCollect dataQ/minValue/maxValue for TIDL trace
Yuan Zhao [Wed, 19 Jun 2019 15:41:47 +0000 (10:41 -0500)]
Collect dataQ/minValue/maxValue for TIDL trace

- MCT-1201

21 months agoFix g++ 8.3.0 OpenCL example undefined behavior
Yuan Zhao [Mon, 24 Jun 2019 18:24:11 +0000 (13:24 -0500)]
Fix g++ 8.3.0 OpenCL example undefined behavior

- Fix undefined behavior of non-void functions with no return statements,
  when using g++ 8.3.0.  Change them to void functions.
- MCT-1200

21 months agoFix DSP L2 cache size update builtin functions
Yuan Zhao [Tue, 18 Jun 2019 21:37:52 +0000 (16:37 -0500)]
Fix DSP L2 cache size update builtin functions

- Previous L2 cache size update functions used
  - signed integer to represent cache size delta before and after,
  - unsigned integer to represent scratch size.
  When comparing these two numbers, everything is casted to
  unsigned integers for comparison according to C/C++ rules.
  However, the intended behavior is to perform signed comparison.
  The bug caused these builtin functions not changing L2 cache size.
- Change everything to signed integers for signed comparison.
- Reduce L2 cache size to 64KB in TIDL environment on AM57,
  to provide enough L2 scratch sapce for TIDL library use.
- MCT-1198

22 months agoFix core id search for received message
Yuan Zhao [Mon, 6 May 2019 18:55:31 +0000 (13:55 -0500)]
Fix core id search for received message

- Search whole array instead of first k entries, where k is
  the number of available compute units, because array is
  now indexed by physical core id (used to be logical core id).
- MCT-1195

23 months agoBugfix for clEnqueueBarrierWithWaitList and clEnqueueMarkerWithWaitList
Gaurav Mitra [Fri, 3 May 2019 21:50:15 +0000 (16:50 -0500)]
Bugfix for clEnqueueBarrierWithWaitList and clEnqueueMarkerWithWaitList

    - The Event::Barrier and Event::Marker types needed to be checked
      alongside Event::WaitForEvents when deciding whether to push
      further events on a command queue. This is because both
      MarkerEvent and BarrierEvent classes inherit from WaitForEventsEvent

(MCT-1175)

23 months agoBugfix for clSetEventCallback()
Gaurav Mitra [Thu, 2 May 2019 20:25:47 +0000 (15:25 -0500)]
Bugfix for clSetEventCallback()

    - In OpenCL 1.2 clSetEventCallback() can accept CL_COMPLETE,
      CL_SUBMITTED and CL_RUNNING as command_exec_callback_type
    - Set Event::Running status when an Event is dispatched

(MCT-1174, MCT-1176)

2 years agoMerge branch 'release/v01.01.18.00' v01.01.18.00
Yuan Zhao [Mon, 4 Mar 2019 21:33:03 +0000 (15:33 -0600)]
Merge branch 'release/v01.01.18.00'

2 years agoUpdate documentation for v01.01.18.00
Yuan Zhao [Fri, 1 Mar 2019 22:59:34 +0000 (16:59 -0600)]
Update documentation for v01.01.18.00

- Change default CORESDK_VERSION and TIDL_VERSION
- Changes needed for TIDL-API v01.03.00
- MCT-1135

2 years agoReplace __DATE__ and __TIME__ with git SHA
Ajay Jayaraj [Mon, 21 Jan 2019 17:54:10 +0000 (11:54 -0600)]
Replace __DATE__ and __TIME__ with git SHA

Replace _DATE_ and _TIME_ with the SHA of the ti-opencl git repo used
for the build. This impacts:
1. clocl version reporting with -v
   E.g. 'OpenCL 1.1 TI product version 01.01.18.00 (e7069f4)'
2. OpenCL runtime CL_PLATFORM_VERSION query.
   E.g. 'OpenCL 1.1 TI product version 01.01.18.00 (e7069f4)'

The git SHA is a more useful indicator of the source code baseline used
to build OpenCL.

(MCT-1119)

2 years agoMerge tag 'v01.01.17.02' into develop
Yuan Zhao [Mon, 14 Jan 2019 22:24:29 +0000 (16:24 -0600)]
Merge tag 'v01.01.17.02' into develop

For CoreSDK 2019 gcc8 build

2 years agoMerge branch 'hotfix/v01.01.17.02' v01.01.17.02
Yuan Zhao [Mon, 14 Jan 2019 22:23:29 +0000 (16:23 -0600)]
Merge branch 'hotfix/v01.01.17.02'

2 years agoMinor fix for g++-arm-8.2.1 compilation
Yuan Zhao [Thu, 10 Jan 2019 16:44:01 +0000 (10:44 -0600)]
Minor fix for g++-arm-8.2.1 compilation

- MCT-1112

2 years agoCreate hotfix v01.01.17.02 branch
Yuan Zhao [Fri, 11 Jan 2019 21:05:35 +0000 (15:05 -0600)]
Create hotfix v01.01.17.02 branch

2 years agoMinor fix for g++-arm-8.2.1 compilation
Yuan Zhao [Thu, 10 Jan 2019 16:44:01 +0000 (10:44 -0600)]
Minor fix for g++-arm-8.2.1 compilation

- MCT-1112

2 years agoFix potential double free in HeapsMultiThreadedPolicy
Ajay Jayaraj [Tue, 8 Jan 2019 22:01:16 +0000 (16:01 -0600)]
Fix potential double free in HeapsMultiThreadedPolicy

Delete the copy constructor and operator= in HeapsMultiThreadedPolicy
to avoid potential double freeing of freed memory warning from
static analyzers.

(MCT-1111)

2 years agoMigrate build to Ubuntu 18.04/g++-7
Yuan Zhao [Tue, 8 Jan 2019 20:48:23 +0000 (14:48 -0600)]
Migrate build to Ubuntu 18.04/g++-7

- Fix broken g++-5 build on old Ubuntu
- MCT-1110

2 years agoMigrate to ubuntu18.04/g++-7
Yuan Zhao [Tue, 8 Jan 2019 19:17:22 +0000 (13:17 -0600)]
Migrate to ubuntu18.04/g++-7

- MCT-1110

2 years agoFix core_scheduler bug for sub_devices
Yuan Zhao [Fri, 28 Dec 2018 18:03:43 +0000 (12:03 -0600)]
Fix core_scheduler bug for sub_devices

- Core_scheduler should allocate compute unit from the compute units
  being passed in.
- MCT-1107

2 years agoCreate __dsp_speed() builtin function from existing dsp_speed() in the monitor
Gaurav Mitra [Mon, 22 Apr 2019 22:08:29 +0000 (17:08 -0500)]
Create __dsp_speed() builtin function from existing dsp_speed() in the monitor

    - Add edmabw example demonstrating use of __dsp_speed()
    - Add doc entry for edmabw example and vecadd_subdevice example

(MCT-1190)

23 months agoEliminate dynamic_cast(s) related to DSPDevice
Ajay Jayaraj [Thu, 18 Apr 2019 14:22:56 +0000 (09:22 -0500)]
Eliminate dynamic_cast(s) related to DSPDevice

(MCT-1183)

23 months agoEliminate duplication across EVE & DSP worker.cpp
Ajay Jayaraj [Mon, 15 Apr 2019 21:53:22 +0000 (16:53 -0500)]
Eliminate duplication across EVE & DSP worker.cpp

(MCT-1192)

23 months agoDisable custom device for OpenCL RTOS
Yuan Zhao [Fri, 12 Apr 2019 21:53:14 +0000 (16:53 -0500)]
Disable custom device for OpenCL RTOS

- Not supported at this moment
- Fix clRetainDevice reference of EVEDevice and CPUDevice
- Fix SYSBIOS CCS debug script
- Sync development build tools versions with the latest PSDK build
- MCT-1154

2 years agoRemoved unused code from the runtime
Ajay Jayaraj [Thu, 11 Apr 2019 21:30:03 +0000 (16:30 -0500)]
Removed unused code from the runtime

(MCT-1189)

2 years agoHandle EVE and CPU devices in the clRetainDevice and clReleaseDevice functions
Gaurav Mitra [Wed, 10 Apr 2019 19:56:59 +0000 (14:56 -0500)]
Handle EVE and CPU devices in the clRetainDevice and clReleaseDevice functions

(MCT-1187)

2 years agoFix compilation warnings for OpenCL examples
Gaurav Mitra [Sun, 16 Dec 2018 04:10:25 +0000 (22:10 -0600)]
Fix compilation warnings for OpenCL examples

    - Enable use of deprecated 1.1 OpenCL APIs without warnings
    - Fix use of Buffer constructor

(MCT-1180)

2 years agoFix RTOS dsplib_fft compiling error with new BIOS
Yuan Zhao [Mon, 18 Mar 2019 21:11:22 +0000 (16:11 -0500)]
Fix RTOS dsplib_fft compiling error with new BIOS

- Add a missing header file
- MCT-1186

2 years agoAddition of preprocessor macros and version update
Gaurav Mitra [Mon, 8 Apr 2019 19:27:55 +0000 (14:27 -0500)]
Addition of preprocessor macros and version update

    - Add __OPENCL_C_VERSION__
    - Update __OPENCL_VERSION__ to CL_VERSION_1_2
    - Update version in dsp/eve device

(MCT-1181)

2 years agoBugfix for incorrect return value in clRetainDevice() and clReleaseDevice()
Gaurav Mitra [Tue, 9 Apr 2019 16:12:39 +0000 (11:12 -0500)]
Bugfix for incorrect return value in clRetainDevice() and clReleaseDevice()

(MCT-1182)

2 years agoUpdate OpenCL version to 1.2.0
Ajay Jayaraj [Mon, 8 Apr 2019 15:16:28 +0000 (10:16 -0500)]
Update OpenCL version to 1.2.0

(MCT-1179)

2 years agoSupport for new compute info flags
Gaurav Mitra [Wed, 3 Apr 2019 17:41:08 +0000 (12:41 -0500)]
Support for new compute info flags

    - CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
    - CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
    - CL_DEVICE_LINKER_AVAILABLE
    - CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
    - CL_DEVICE_PRINTF_BUFFER_SIZE

(MCT-1177)

2 years agoSupport for new CL_MEM_HOST_* buffer creation flags
Gaurav Mitra [Tue, 2 Apr 2019 16:12:03 +0000 (11:12 -0500)]
Support for new CL_MEM_HOST_* buffer creation flags

    - CL_MEM_HOST_WRITE_ONLY
    - CL_MEM_HOST_READ_ONLY
    - CL_MEM_HOST_NO_ACCESS

(MCT-1173)

2 years agoclEnqueueFillImage() implementation
Gaurav Mitra [Fri, 29 Mar 2019 19:52:39 +0000 (14:52 -0500)]
clEnqueueFillImage() implementation

    - Returns CL_IMAGE_FORMAT_NOT_SUPPORTED

(MCT-1133)

2 years agoclGetKernelArgInfo(), clCreateImage() implementation and
Gaurav Mitra [Wed, 13 Mar 2019 18:14:25 +0000 (13:14 -0500)]
clGetKernelArgInfo(), clCreateImage() implementation and
clGetProgramInfo() new parameters

    - clGetKernelArgInfo() implementation including addition of
      "-cl-kernel-arg-info" clocl option
    - clCreateImage() implementation which returns CL_INVALID_OPERATION
    - Implementation of CL_PROGRAM_NUM_KERNELS and CL_PROGRAM_KERNEL_NAMES
      for clGetProgramInfo()

(MCT-1140)

2 years agoImplementation of CL_MAP_WRITE_INVALIDATE_REGION
Gaurav Mitra [Wed, 27 Mar 2019 18:57:31 +0000 (13:57 -0500)]
Implementation of CL_MAP_WRITE_INVALIDATE_REGION

(MCT-896)

2 years agoclEnqueueBarrierWithWaitList implementation
Gaurav Mitra [Fri, 8 Mar 2019 16:11:44 +0000 (10:11 -0600)]
clEnqueueBarrierWithWaitList implementation

(MCT-1139)

2 years agoclUnloadPlatformCompiler() implementation
Gaurav Mitra [Tue, 12 Mar 2019 05:34:09 +0000 (00:34 -0500)]
clUnloadPlatformCompiler() implementation

(MCT-894)

2 years agoclEnqueueMigrateMemObjects implementation
Gaurav Mitra [Fri, 22 Feb 2019 16:38:56 +0000 (10:38 -0600)]
clEnqueueMigrateMemObjects implementation

(MCT-901)

2 years agoUpdate three examples to use make_kernel instead of the older KernelFunctor
Gaurav Mitra [Fri, 8 Feb 2019 19:13:03 +0000 (13:13 -0600)]
Update three examples to use make_kernel instead of the older KernelFunctor

    - simple
    - timeout
    - abort_exit

(MCT-902)

2 years agoAdding KernelFunctor support from OpenCL 1.1 cl.hpp header
Gaurav Mitra [Thu, 7 Feb 2019 23:16:56 +0000 (17:16 -0600)]
Adding KernelFunctor support from OpenCL 1.1 cl.hpp header

    - Usage through CL_USE_DEPRECATED_OPENCL_1_1_APIS_TI
      defined in cl.h

(MCT-899, MCT-903)

2 years agoOpenCL 1.2 Headers
Gaurav Mitra [Thu, 7 Feb 2019 20:57:28 +0000 (14:57 -0600)]
OpenCL 1.2 Headers

(MCT-903, MCT-899)

2 years agoBugfix for clSetUserEventStatus()
Gaurav Mitra [Thu, 28 Mar 2019 20:25:46 +0000 (15:25 -0500)]
Bugfix for clSetUserEventStatus()

    - Input execution_status can also be a negative integer apart from
      CL_COMPLETE.

(MCT-1170)

2 years agoBugfix - buffer creation flags in vecadd_subdevice example
Gaurav Mitra [Thu, 14 Mar 2019 18:18:50 +0000 (13:18 -0500)]
Bugfix - buffer creation flags in vecadd_subdevice example

(MCT-1138)

2 years agoAM57: DSP custom device, TIDL-API Built-in Kernels
Yuan Zhao [Thu, 28 Feb 2019 15:38:18 +0000 (09:38 -0600)]
AM57: DSP custom device, TIDL-API Built-in Kernels

- Add DSP as custom device, in addition to being ACCELERATOR device
- Add TIDL-API Built-in Kernels to OpenCL DSP runtime
- Clean up subdevice/device dependent program handling,
  move subdevice/rootdevice logic from api_program into Coal::Program
- MCT-1143, MCT-1154

2 years agoMerge tag 'v01.01.18.00' into develop
Yuan Zhao [Mon, 4 Mar 2019 21:35:17 +0000 (15:35 -0600)]
Merge tag 'v01.01.18.00' into develop

OpenCL 1.1.18.00 for Processor SDK 5.3

2 years agoMove EVE runtime memory into IPU1 DTS reserved mem
Yuan Zhao [Thu, 14 Feb 2019 20:49:29 +0000 (14:49 -0600)]
Move EVE runtime memory into IPU1 DTS reserved mem

- Part 1 of 2 to move OpenCL runtime memory out of CMEM
- Previously, OpenCL reserves first 32MB of CMEM for OpenCL runtime
  (OpenMP DSP memory and EVE memory).  This makes CMEM block hard to move.
- New approach for EVE is to allocate OpenCL runtime memory from IPU1's
  DTS reserved memory using remoteproc and carveout entries in resource
  table.  This makes sense because EVE is loaded by IPU1.
- Remove hard coded CMEM information in the OpenCL runtime for EVE.
- MCT-948, MCT-1141

2 years agoAdd support for ION based shared memory allocator
Ajay Jayaraj [Fri, 8 Feb 2019 16:33:38 +0000 (10:33 -0600)]
Add support for ION based shared memory allocator

Update the shared memory allocator to use ION instead of CMEM. The
default allocator is CMEM. Set USE_ION=1 during build to switch to ION.

(MCT-1121)

2 years agoRefactor - remove dead code from the runtime
Ajay Jayaraj [Thu, 31 Jan 2019 22:22:17 +0000 (16:22 -0600)]
Refactor - remove dead code from the runtime

host/src/core/dsp/tal
* The pcie and devmem variants are no longer required.
  - pcie is for C6678 PCIe device, no longer supported by the OpenCL
    runtime.
  - devmem is referenced only by mpm based mailbox. This can be removed
    since we've switched to MessageQ based mailbox on AM57x and K2x.

host/init - Used by C6678, no longer supported

Removed references to BUILD_C6678 in sources, Makefile(s).

(MCT-1125)

2 years agoMerge in TargetAddressSpace
Yuan Zhao [Tue, 22 Jan 2019 21:48:38 +0000 (15:48 -0600)]
Merge in TargetAddressSpace

- Fix a bug in POCL: regenerate_kernel_metadata() needs to be called
  once for all kernels (not one time for each kernel)
- Skip struct address space as it messes with __ocl_event type
- Merge in LLVMUtils, UVA
- Minor cleanups to minimize difference
- MCT-862

2 years agoMerge in WorkitemLoops, WorkitemHandler
Yuan Zhao [Thu, 17 Jan 2019 21:41:39 +0000 (15:41 -0600)]
Merge in WorkitemLoops, WorkitemHandler

- Clean up _local_size_x,y,z that TI do not use
- WorkitemLoops: version LLVM user vs use that TI fixes
- MCT-862

2 years agoMerge in WorkitemHandlerChooser
Yuan Zhao [Thu, 17 Jan 2019 19:50:55 +0000 (13:50 -0600)]
Merge in WorkitemHandlerChooser

- Partial VUA, TargetAddrSpace merge
- Simplify WorkItemAliasAnalysis header file to minimize changes
- MCT-862

2 years agoMerge in files with POCL v1.2
Yuan Zhao [Mon, 14 Jan 2019 22:01:34 +0000 (16:01 -0600)]
Merge in files with POCL v1.2

- Mostly cosmetic, all TI modifications  are guarded by TI_POCL
- Remove BarrierBlock class as in POCL v1.2
- Simplify Flatten class header file to minimize changes
- Merge in new Workgroup files from POCL1.2
- MCT-862

2 years agoUpdated version to 1.1.19.0
Ajay Jayaraj [Tue, 29 Jan 2019 20:34:04 +0000 (14:34 -0600)]
Updated version to 1.1.19.0

2 years agoMerge tag 'v01.01.17.01' into develop for PSDK 5.2
Ajay Jayaraj [Thu, 29 Nov 2018 20:16:49 +0000 (14:16 -0600)]
Merge tag 'v01.01.17.01' into develop for PSDK 5.2

2 years agoMerge branch 'hotfix/v01.01.17.01' v01.01.17.01
Ajay Jayaraj [Thu, 29 Nov 2018 20:15:02 +0000 (14:15 -0600)]
Merge branch 'hotfix/v01.01.17.01'

2 years agoclEnqueueMarker incorrectly returns CL_OUT_OF_HOST_MEMORY
Ajay Jayaraj [Thu, 29 Nov 2018 20:03:41 +0000 (14:03 -0600)]
clEnqueueMarker incorrectly returns CL_OUT_OF_HOST_MEMORY

A test added into clEnqueueMarker incorrectly returns
CL_OUT_OF_HOST_MEMORY if there are no events in the command queue.
Modify the test to return CL_OUT_OF_HOST_MEMORY iff the event count in
the command queue > 0 and events array returned is null.

(MCT-1092)

2 years agoCreated hotfix branch
Ajay Jayaraj [Thu, 29 Nov 2018 19:59:29 +0000 (13:59 -0600)]
Created hotfix branch

2 years agoUpdated version to 1.1.18.0
Ajay Jayaraj [Wed, 28 Nov 2018 17:58:41 +0000 (11:58 -0600)]
Updated version to 1.1.18.0

2 years agoMerge tag 'v01.01.17.00' into develop
Ajay Jayaraj [Wed, 28 Nov 2018 17:55:58 +0000 (11:55 -0600)]
Merge tag 'v01.01.17.00' into develop

Tag for PSDK 5.2 release

2 years agoMerge branch 'release/v01.01.17.00' v01.01.17.00
Ajay Jayaraj [Wed, 28 Nov 2018 17:53:38 +0000 (11:53 -0600)]
Merge branch 'release/v01.01.17.00'

2 years agoDocumentation - update readme for 1.1.17
Ajay Jayaraj [Wed, 28 Nov 2018 17:11:42 +0000 (11:11 -0600)]
Documentation - update readme for 1.1.17

(MCT-1090)

2 years agoUpdate PSDK and TIDL library dependencies
Ajay Jayaraj [Tue, 27 Nov 2018 15:50:50 +0000 (09:50 -0600)]
Update PSDK and TIDL library dependencies

(MCT-1070)

2 years agoUpdated OpenCL manifest for 1.1.17
Ajay Jayaraj [Wed, 14 Nov 2018 17:23:33 +0000 (11:23 -0600)]
Updated OpenCL manifest for 1.1.17

SRAS ID: SRAS00005715