The Tutorial and API Reference of VEDA  2.13.0

VEDA is a parallel computing platform and programming model that makes using a VE for general purpose computing simple and elegant. The VEDA platform is designed to work with programming languages such as C, C++, and Fortran. This accessibility makes it easier for specialists in parallel programming to use GPU resources,

Using VEDA, a programmer can execute code on VE and can control the execution from VH main program.

VEDA (VE Driver API) and VERA (VE Runtime API) are a CUDA Driver and Runtime API-like APIs for hybrid programming. It is based on AVEO. Most of the functionality is identical to the CUDA Driver API and CUDA Runtime API.

This document describes public APIs for VEDA. The page "Modules" shows a list of VEDA API functions. The page "Examples" shows a list of all example. The page "VEDA vs CUDA" shows the differences and similarities between VEDA and CUDA, also shows some unique features of VEDA.

NEC Laboratories Europe
NEC Corporation
Revision History
Revision, Date, Updates/Remarks
Rev.4, Oct 2022,
This revision covers veoffload-veda-2.13.0 or later.
Added support of below new VEDA HMEM API
vedaHMemAlloc(), vedaHMemcpyDtoXAsync(), vedaHMemcpyDtoX(), vedaHMemcpy(), vedaHMemcpyXtoDAsync(), vedaHMemcpyXtoD(), vedaHMemPtr(), vedaHMemsetD128Async(), vedaHMemsetD128(), vedaHMemsetD16(), vedaHMemsetD32Async(), vedaHMemsetD32(), vedaHMemsetD64Async(), vedaHMemsetD64(),vedaHMemsetD8(), vedaMemAllocOverrideOnce(), vedaHMemsetD16Async(), vedaHMemFree(), vedaHMemFree() vedaLaunchHostFuncEx(),vedaMemSwap(),vedaMemSwapAsync(), vedaLaunchKernelEx_compat(),vedaMemsetD128(),vedaMemsetD128Async(), vedaMemsetD2D128(), vedaMemsetD2D128Async(), vedaMemsetD2D64(), vedaMemsetD2D64Async()
Replaced "const void *value" to "const VEDAhmemptr value" in vedaArgsSetHMEM().
Replaced "bool checkResult" with "int64_t* result" in vedaLaunchKernelEx() to receive return value of kernel.
Below APIs are removed
vedaMemHMEM(), vedaMemHMEMSize(), vedaMemGetRawPointer(), vedaMemGetHMEMPointer()
Disabled support for vedaMemsetD2D* set of APIs.
vedaMemGetRawPointer(), vedaMemGetHMEMPointer()
Added support of below new VERA APIs
Rev.3, July 2022,
This revision covers veoffload-veda-2.11.1 or later.
Fixed build error, loading library error and missing invocation of vedaArgsDestroy() in example programs
Rev.2, Mar. 2022,
This revision covers veoffload-veda-2.11.1 or later.
Updated VEDA API similar to CUDA.
Difference points between VEDA and CUDA
Unique features of VEDA.
Updated environment variable usage/description.
Suppressed extra error messages.
Rev.1, Dec. 2021,
This revision covers veoffload-veda-2.10.0 or later.
First release.