Releases: JuliaGPU/OpenCL.jl
Releases · JuliaGPU/OpenCL.jl
v0.10.9
OpenCL v0.10.9
Merged pull requests:
- Add atomic float support (#399) (@michel2323)
- [SPIRVIntrinsics] Fix
@device_override(#404) (@christiangnrd) - Disable broken vectorization tests on Windows and use
windows-2022in CI (#405) (@christiangnrd) - Fix macos CI (#406) (@christiangnrd)
- Bump actions/checkout from 5 to 6 (#407) (@dependabot[bot])
- Add relevant package versions to
versioninfo(#409) (@christiangnrd) - Fix CI for locally built POCL (#412) (@christiangnrd)
- [OpenCL] Subgroup support (#413) (@christiangnrd)
- Fixes found with JETLS (#416) (@christiangnrd)
- [SPIRVIntrinsics] Sub-group shuffle & barrier (#420) (@christiangnrd)
Closed issues:
v0.10.8
OpenCL v0.10.8
Merged pull requests:
- SIMD support for math intrinsics (#379) (@simeonschaub)
- [KA] support unified memory API (#394) (@simeonschaub)
Closed issues:
- support vectorized math intrinsics (#376)
v0.10.7
OpenCL v0.10.7
Merged pull requests:
- change mangling of pointers (#395) (@simeonschaub)
- Reduce macOS runs on CI (#397) (@christiangnrd)
- Bump peter-evans/find-comment from 3 to 4 (#400) (@dependabot[bot])
- Bump peter-evans/create-or-update-comment from 4 to 5 (#401) (@dependabot[bot])
- fix
rand(::AbstractRange{Int64})(#402) (@simeonschaub)
Closed issues:
- Updating SPIRV_Tools_jll breaks Rusticl backend (#398)
v0.10.6
OpenCL v0.10.6
Merged pull requests:
- implement device-side RNG (#365) (@simeonschaub)
- add Float16 math functions (#368) (@simeonschaub)
- Bump actions/checkout from 4 to 5 (#372) (@dependabot[bot])
- [SPIRVIntrinsics] GPUToolbox compat (#373) (@christiangnrd)
- Use
macos-15-intel(#375) (@christiangnrd) - GPUToolbox compat again (#378) (@christiangnrd)
- Fix
return_typetest failure in 1.12 (#380) (@christiangnrd) - Fix typo in Float64 unsupported error (#381) (@christiangnrd)
- Various test improvements (#382) (@christiangnrd)
- Test improvement follow-up (#387) (@christiangnrd)
- 1.12 (#391) (@christiangnrd)
- Use
--quickfailin CI (#392) (@christiangnrd) - Version 0.10.6 (#396) (@simeonschaub)
Closed issues:
v0.10.5
OpenCL v0.10.5
Merged pull requests:
- TagBot: use DOCUMENTER_KEY (#362) (@simeonschaub)
- add profiling docs (#363) (@simeonschaub)
- minor README fixes (#364) (@simeonschaub)
- CI: Build PoCL without hwloc. (#367) (@maleadt)
- allow disabling validation (#369) (@simeonschaub)
- Version 0.10.5 (#370) (@simeonschaub)
v0.10.4
OpenCL v0.10.4
Merged pull requests:
- Add sources for SPIRVIntrinsics (#321) (@vchuravy)
- Use stacked method tables (#325) (@vchuravy)
- Allow direct host-interactions with SVM-backed arrays (#336) (@VarLad)
- Track memory type when converting arguments to pointers (#341) (@maleadt)
- Port control barriers to SPIR-V, add memory barriers. (#343) (@maleadt)
- fix broadcasting for differently backed CLArrays of different dimensions (#345) (@simeonschaub)
- Int64 atomics (#347) (@simeonschaub)
- Disable broken hardware-based linear KA index. (#348) (@maleadt)
- pass
extensionsargument through@opencl(#355) (@simeonschaub) - set up Documenter (#357) (@simeonschaub)
- add
backendtoCOMPILER_KWARGS(#358) (@simeonschaub) - Bump actions/checkout from 4 to 5 (#359) (@dependabot[bot])
- fix docs setup (#360) (@simeonschaub)
- Version 0.10.4 (#361) (@simeonschaub)
Closed issues:
- Invalid device buffer to CPU pointer conversions are allowed (#294)
- PoCL: Occasional
__init__failure during wrapper generation (#318) - SVM pointer conversion and other related issues (#337)
- Behaviour discrepancy between the REPL and the testing environment, as well as between logically similar kernels. (#339)
- issues with Int64
atomic_cmpxchg!(#353) - add some proper documentation (#354)
v0.10.3
OpenCL v0.10.3
Merged pull requests:
- Switch to the LLVM SPIR-V back-end. (#285) (@maleadt)
- CI: Fixed arch for macOS jobs (#286) (@stemann)
- Avoid promition to Int32 in work_items functions (#287) (@vchuravy)
- Remove access keyword from examples (#288) (@blegat)
- Bump OpenCL_jll to 2024.10.24 (#289) (@blegat)
- Update jupyter notebooks (#291) (@blegat)
- Typo fix : pivate -> private (#292) (@blegat)
- cl.LocalMemory -> CLPtr (#293) (@blegat)
- Add warning about using pocl_jll on top of script (#295) (@blegat)
- Ptr -> CLPtr in examples (#296) (@blegat)
- Add pocl upstream as a CI (#298) (@vchuravy)
- [OpenCLKernel] Use barrier with LOCAL_MEM_FENCE (#300) (@vchuravy)
- Pass actually pointer typed things to printf (#302) (@vchuravy)
- Bump
SPIRVIntrinsics(#306) (@christiangnrd) - Fix typo in intrinsic mangling, and always test using latest subpackage. (#307) (@maleadt)
- Upgrade and switch to the non-unified SPIRV LLVM Translator. (#308) (@maleadt)
- Update PoCL to v7. (#309) (@maleadt)
- Silence 1.12 warnings (#310) (@christiangnrd)
- Add Buffer Device Address Backend (#311) (@VarLad)
- Windows support (#313) (@maleadt)
- CompatHelper: bump compat for SPIRVIntrinsics to 0.2, (keep existing compat) (#320) (@github-actions[bot])
- Cast
sizeof(::LocalMem)toInt(#323) (@blegat) - [NFC] Docstring typo (#327) (@christiangnrd)
- Add JLD2 to test env (#329) (@christiangnrd)
- Fix OpenCL on 1.12 (#333) (@VarLad)
- KA.__synchronize, add GLOBAL_MEM_FENCE semantics (#338) (@vchuravy)
Closed issues:
- Buffers aren't released (#208)
- OOB trap is fatal for CPU back-ends (#249)
- Fails to create array on Rusticl driver (#255)
- Atlernative allocation strategies (#256)
- Support Atomix.jl (#280)
- Support
cl_membased buffers usingcl_ext_buffer_device_addressextension (#281) ndrangeprovided in KernelAbstractions kernels is broken (#283)- Invalid instruction with pocl package from ArchLinux (#290)
- Failure for POCL without inbounds (#299)
- PoCL: Linking can fail due to missing libc (#303)
- PoCL's CPU platform gives
isgpu(backend) == true(#304) - PoCL 7.0 (#305)
- PoCL: Ship additional system libraries on macOS (#315)
- Printing failure for LocalMem (#322)
- does not support USM or coarse-grained SVM (#324)
- Look into Vulkan shader compilers (#331)
- TypeError in
add_ptrin Julia 1.12 (#332)
v0.10.2
v0.10.1
v0.10.0
OpenCL v0.10.0
Very breaking release, with significant changes:
- adds a native compiler
- changes lots of APIs
- integrates with JLLs
For more details, see NEWS.md or the blog post on juliagpu.org.
Merged pull requests:
- Don't install additional packages on CI (#203) (@maleadt)
- Add Buildkite build status badge (#204) (@ClaroHenrique)
- enable dependabot for GitHub actions (#207) (@ranocha)
- Add POCL support and CI + major package rework (#210) (@maleadt)
- Support loading IL. (#211) (@maleadt)
- Various clean-ups (#212) (@maleadt)
- Fix the Program constructor checks. (#213) (@maleadt)
- Switch to global state + automatic pointer conversions (#214) (@maleadt)
- Switch from getindex overloading to getproperty (#215) (@maleadt)
- Remove CLString. (#216) (@maleadt)
- Always run tests on all available platforms/devices (#217) (@maleadt)
- Add a simple versioninfo function. (#218) (@maleadt)
- Preserve buffers from GC collection when doing unsafe things. (#219) (@maleadt)
- Replace blocking cl.launch by asynchronous cl.call. (#220) (@maleadt)
- Add a native compiler, using SPIR-V IL. (#222) (@maleadt)
- Wrap cl_ext.h and handle CL_PLATFORM_NOT_FOUND_KHR gracefully. (#223) (@maleadt)
- Disable argument conversion when calling raw OpenCL kernels. (#224) (@maleadt)
- Improve build status reporting. (#225) (@maleadt)
- Replace to_host by Array. (#226) (@maleadt)
- Buffer rework (#227) (@maleadt)
- Introduce clcall for ccall-like kernel invocation. (#228) (@maleadt)
- Add SVM Buffer type. (#229) (@maleadt)
- Switch CLArray to SVM. (#230) (@maleadt)
- Update examples and notebooks again. (#231) (@maleadt)
- Initial GPUArrays integration (#232) (@maleadt)
- Initial KernelAbstractions.jl integration. (#233) (@maleadt)
- Add compat bounds. (#238) (@maleadt)
- Use a distributed test harness (#239) (@maleadt)
- Test runner improvements (#240) (@maleadt)
- Enable the GPUArrays test suite. (#241) (@maleadt)
- Fixes (#242) (@maleadt)
- Make copies from host to device blocking (#243) (@maleadt)
- Add a couple of quirks. (#244) (@maleadt)
- Don't periodically recycle workers. (#245) (@maleadt)
- Synchronize before freeing memory in a finalizer. (#246) (@maleadt)
- Avoid synchronizing freed queues. (#247) (@maleadt)
- mapreduce: don't launch too many items. (#248) (@maleadt)
- Only
devSPIRVIntrinsics.jl if needed. (#251) (@maleadt) - Work around SVM issue on Intel. (#253) (@maleadt)
- Support passing LLVMPtrs. (#254) (@maleadt)
- Adapt to GPUArrays.jl transition to KernelAbstractions.jl. (#260) (@maleadt)
- Switch CI to 1.11. (#261) (@maleadt)
- SPIRVIntrinsics: add import/export helpers. (#262) (@maleadt)
- Adapt to JuliaGPU/GPUArrays.jl#567. (#265) (@maleadt)
- Bump LLVM-SPIRV translator. (#267) (@maleadt)
- Bump codecov/codecov-action from 4 to 5 (#268) (@dependabot[bot])
- Add the ability to test a single platform. (#269) (@maleadt)
- Type fixes for Windows. (#270) (@maleadt)
- Improve initialization warnings. (#271) (@maleadt)
- Don't use platform-dependent types. (#272) (@maleadt)
- Don't use platform-dependent types for
upsample(#273) (@christiangnrd) - KernelAbstractions: Use fine-grained synchronization (#274) (@maleadt)
Closed issues:
- Support Windows (#199)
- PoCL as fallback driver (#200)
- Clang.jl bindings (#202)
- v0.9.0 breaks MacOS (#205)
- OpenCL.jl on MacOSX Ventura 13.2 (#206)
GPUArrays.default_rng(CLArray)causesRandomnot defined in OpenCL (#235)- SPIRVIntrinsics: Unknown type Int8 on aarch64-linux (#236)
- Cannot pass pointers (#250)
- Novice view: warning about no JLLs more confusing than useful? (#263)
- OpenCL_jll.jl should check privilege level (#266)