./parallel/pocl, Portable implementation of the OpenCL standard

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.8nb1, Package name: pocl-1.8nb1, Maintainer: pkgsrc-users

OpenCL (Open Computing Language) is an open, royalty-free standard for
cross-platform, parallel programming of diverse accelerators found in
supercomputers, cloud servers, personal computers, mobile devices and embedded

PoCL is a portable open source (MIT-licensed) implementation of the OpenCL
standard (1.2 with some 2.0 features supported). In addition to being an easily
portable multi-device (truly heterogeneous) open-source OpenCL implementation,
a major goal of this project is improving interoperability of diversity of
OpenCL-capable devices by integrating them to a single centrally orchestrated

Master sites:

Filesize: 1576.704 KB

Version history: (Expand)

CVS history: (Expand)

   2021-12-08 17:07:18 by Adam Ciarcinski | Files touched by this commit (3063)
Log message:
revbump for icu and libffi
   2021-11-20 21:05:37 by Thomas Klausner | Files touched by this commit (11) | Package removed
Log message:
pocl: update to 1.8.

Notable User Facing Changes

- support for LLVM 13
- CMake: Inter-Procedural Optimization is enabled on code of runtime library
  (libpocl.so is compiled with -flto on systems that support it).
- LTTng tracing improved - more command types are traced, and also
  some synchronous API calls (like clCreateBuffer) are traced.
- poclcc, tests and examples can be disabled with CMake options
- Valgrind support improved by making Valgrind aware of pocl's
  reference counting of cl_* objects
- kernels which are called by kernels are now force-inlined
- Support for NetBSD.
- Support for Unix systems without libdl.
- PoCL can now (optionally) respond to SIGUSR2 by printing
  some live debug information.
- improved SPIR support for CUDA devices

Notable Bug Fixes

- Fixed a potential crash on Unix systems without sysfs mounted.
- Fixed compilation errors when building on macOS.
  - Fixed POCL_FAST_INIT macro; POCL_INIT_LOCK must be invoked with only one \ 
  - Fix bin/poclcc to not depend on OpenCL 2.0 symbols
- Fixed miscompilation in kernel loops with multiple conditionals with barriers \ 
in them.

  use ninja's seperate compile and link job pools.

- Improve memory architecture, buffer migration and allocation.
  Buffers are now allocated on a device when first used
  (previously each buffer was allocated on every device in context).

- the single global LLVMContext was replaced with
  multiple LLVMContexts, one per OpenCL cl_context.
  OpenCL code can now be compiled in parallel
  when using separate cl_contexts. This feature
  is disabled by default since it significantly slowed
  down PyOpenCL. This should be resolved by separating
  LLVM compilation in their own threads in the future.

- a new OpenCL extension was added to PoCL: cl_pocl_content_size.
  The extension allows the user to give optimization hint to PoCL,
  which will be used internally by PoCL to optimize buffer transfers
  between multiple devices.
   2021-10-26 13:10:38 by Nia Alarie | Files touched by this commit (29)
Log message:
parallel: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 16:46:48 by Nia Alarie | Files touched by this commit (29)
Log message:
parallel: Remove SHA1 hashes for distfiles
   2021-09-20 11:05:31 by Nia Alarie | Files touched by this commit (1)
Log message:
pocl: work around broken CPU detection on aarch64
   2021-06-11 17:09:24 by Nia Alarie | Files touched by this commit (1)
Log message:
pocl: add test target
   2021-06-10 23:50:29 by Nia Alarie | Files touched by this commit (1)
Log message:
pocl: add buildlink3 file
   2021-06-10 14:26:26 by Nia Alarie | Files touched by this commit (9)
Log message:
pocl: add links to upstream pull requests for patches

cpuinfo: check for fopen() failure when opening sysfs nodes to avoid segfault

pocl_timing: fix detection of Unix monotonic clocks

Fix detection of dlopen()/libdl