OpenCL Language Server

June 10, 2026 ยท View on GitHub

Build status

Supported Capabilities:

Prerequisites

OpenCL Language Server requires OpenCL Runtime [Intel, NVidia, AMD]

Parameters

You can configure diagnostics with json-rpc request during the intitialization:

{
    "jsonrpc": "2.0",
    "id": 0,
    "method": "initialize",
    "params": {
        "initializationOptions": {
            "configuration": {
                "buildOptions": [],
                "deviceID": 0,
                "maxNumberOfProblems": 127
            }
        }
    }
}

Options

buildOptionsOptions to be utilized when building the program. The list of supported build options.
deviceIDDevice ID or 0 (automatic selection) of the OpenCL device to be used for diagnostics.
Run ./opencl-language-server clinfo to get information about available OpenCL devices including identifiers.
maxNumberOfProblemsControls the maximum number of errors parsed by the language server.

CLI

The language server communicates with a client using JSON-RPC protocol.
Optionally, you can use subcommands to access functionality without starting the server.

.build/Debug/opencl-language-server [OPTIONS] [SUBCOMMANDS]


OPTIONS:
  -h,     --help              Print this help message and exit
  -e,     --enable-file-logging 
                              Enable file logging
  -f,     --log-file TEXT [opencl-language-server.log]  
                              Path to log file
  -l,     --log-level ENUM:{0,1,2,3,4,5} [0]  
                              Log level
          --stdio             Use stdio transport channel for the language server
  -v,     --version           Show version

SUBCOMMANDS:
  clinfo                      Show information about available OpenCL devices
  diagnostics                 Provides an OpenCL kernel diagnostics
  completion                  Provides an OpenCL kernel completions

Clients

vscode-opencl - OpenCL for Visual Studio Code

Development

See development notes.

License

MIT License

Disclaimer

OpenCL is the trademark of Apple Inc.