This release introduces a language server for Linux ARM64 (AArch64).
Dependencies have been updated to address potential vulnerabilities.
This release adopts opencl-language-server
version 0.6.0.
It offers performance enhancements and resolves various bugs.
Dependencies have been updated to address potential vulnerabilities.
The language server for linux has been recompiled on Ubuntu-20.04 and is bundled with this update. This ensures compatibility with older systems for which GLIBC_2.32 is not available.
This version introduces an explorer view extension to display information about available OpenCL devices.
OpenCL: Select |
Select the OpenCL device for kernel diagnostics |
OpenCL: Toggle View |
Toggle the explorer view (display localized or raw properties) |
OpenCL.server.deviceID |
Device ID or 0 (automatic selection) of the OpenCL device to be used for diagnostics. Use the OpenCL: Select command or the OpenCL Devices explorer actions to specify the identifier. |
OpenCL.explorer.localizedProperties |
Show localized properties of OpenCL devices in the explorer view (uncheck to show raw OpenCL properties). |
-
Distribution of the
clinfo
andoclinfo
binary utilities has been discontinued in favor ofopencl-language-server/0.4
. -
The
OpenCL: Info
command now displays non-localized information about OpenCL devices in JSON format and corresponds to content displayed in the explorer view. -
Fixed code formatting with
clang-format
supplied with thems-vscode.cpptools
extension on macOS. -
Security updates.
- Security updates
- Updated opencl-language-server version to 0.3.
- Task provider error messages will only be visible in the developer console
- Security updates
Built-in OpenCL API reference was extended with:
- Async Copy and Prefetch Functions
- Atomic Functions
- Common Functions
- Event Functions
- Geometric Functions
- Image Functions
- Integer Functions
- Math Functions
- Misc. Vector Functions
- Relational Functions
- Sync Functions
- Vector Data Load and Store Functions
- Work-Item Functions
- Pipe Functions
- Added language server to provide diagnostics for an OpenCL kernel
- Security updates
- Updated task provider to support
ioc
compiler shipped with Intel® SDK for OpenCL™ 2019 - Security updates
- Security updates
- Discontinued support for formatters other than
clang-format
- Formatter changes the document without automatic saving
- Unsaved changes are kept when formatting
- Removed configuration
opencl.formatting.options
- Fixed highlighting issues
- Fixed security vulnerabilities
- Updated:
clang-format
(bundled withms-vscode.cpptools
) is a default formatting utility now. - Updated: Configuration
opencl.formatting.args
was renamed toopencl.formatting.options
. - Updated: Command
OpenCL: Info
will not createoclinfo.txt
file in the project's root. Instead it will just open a new VS Code tab with command's result without saving it to a file. - Added: Neither
OpenCL: Info
command norFormat Document
action do not require an open workspace anymore.
- Fixed OpenCL Offline Compiler tasks for the VS Code ^1.31.0.
-
Fixed OpenCL tasks for the latest VS Code
-
$ioc
and$openclc
problem matchers replaced with$opencl.common
and$opencl.openclc
-
Optimized task list generation
The extension provides predefined set of VS Code tasks for kernel compilation using ioc32/ioc64
or openclc
(on macOS).
-
Press
Tasks > Run Task...
-
Press
Run Task...
and select one of the predefinedopencl
tasks for filekernel.cl
. The set of tasks (fig. 1) is generated for each kernel file that was found in the current workspace.Figure 1. Predefined Tasks for
ioc64
compiler.
Press Tasks > Configure Tasks...
. Select one of the predefined opencl
tasks. File tasks.json
will be created (or extended) with configuration of the selected task.
You can override command
and args
fields to use another compiler. Field label
is a displayed task name, problemMatcher
should be overriten to match a compiler's errors and warnings so messages could be displayed in Problems
view.
An example of modified tasks.json
configuration file for using AMD Mali as OpenCL offline compiler:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "opencl: malisc compile",
"task": "compile",
"command": "malisc",
"args": [
"--name kernelName",
"kernel.cl"
],
"problemMatcher": [
{
"owner": "opencl",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(ERROR|WARNING): <(.*)>:(\\d+):(\\d+): (error|warning): (.*)$",
"file": 2,
"line": 3,
"column": 4,
"severity": 1,
"message": 6
}
}
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
-
Added auto closing pairs (brackets and quotes)
-
Added clinfo binary supporting
OpenCL: Info
command on Linux (Requirements: OpenCL drivers and runtime libraries) -
node-sshpk
andurl-parse
dependencies were updated due to potential security vulnerability in older versions.
- Added: Support for external formatters (e.g. AStyle)
Hoek
dependency was updated due to potential security vulnerability in older version.
- Fixed: Types
ushort
,uint
,size_t
,intptr_t
,uintptr_t
were not highlighted.
- Fixed: Unsigned types and types with
_t
at the end were not highlighted for some color themes; - Fixed:
Toggle Line Comment
andToggle Block Comment
commands did not work in*.cl
files.
Added command OpenCL: Info
to show OpenCL platforms/devices info.
Only Win32 and macOS are supported.
Requirements: OpenCL drivers and runtime libraries.
- Added Code Snippets for host OpenCL functions;
- Added Code Snippets for device OpenCL functions.
- Added Auto-Completion (Words from the document).
- Added Auto-Completion (Built-in OpenCL functions, data types and macros).
- Improving the highlighting of OpenCL data types (In accordance with the built-in rules for C and C++ syntax highlighting).
.cl
and.ocl
file extensions support- OpenCL C keywords
- OpenCL C++ datatypes