·
72 commits
to main
since this release
cuda.core
v0.2.0 release announcement
Release note
All functionalities are currently hosted under the cuda.core.experimental
namespace. Once the features become stable they will be moved out of experimental
.
Key Features and Enhancements
- Add
ProgramOptions
to facilitate the passing of runtime compile options toProgram
. - Add pythonic access to
Device
andKernel
attributes.
For full details please refer to the release note above.
Breaking Changes
- The
stream
attribute is removed fromLaunchConfig
. Instead, theStream
object should now be directly passed tolaunch
as an argument. - The signature for
launch
is changed by swapping positional arguments, the new signature is now(stream, config, kernel, *kernel_args)
- Change
__cuda_stream__
from attribute to method. - The
Program.compile
method no longer accepts theoptions
argument. Instead, you can optionally pass an instance ofProgramOptions
to the constructor ofProgram
. Device.properties
now provides attribute getters instead of a dictionary interface.- The
.handle
attribute of variouscuda.core
objects now returns the underlying Python object instead of a (type-erased) Python integer.
New examples
jit_lto_fractal.py
— Demonstrates just-in-time link-time optimization for fractal generation. (Device
,LaunchConfig
,Linker
,LinkerOptions
,Program
,ProgramOptions
) (#475)simple_multi_gpu_example.py
— Example of using multiple GPUs. (Device
,Program
,LaunchConfig
) (#304)show_device_properties.py
— Displays detailed device properties. (Device
) (#474)
Documentation
Sample codes
Test fixes
- Clean up device initialization in some tests. (#507)
What's Changed
- Add back CuPy as an optional test dependency + Fix an example bug by @leofang in #334
- add warning to the nvjitlink ctor when falling back to cuLink by @ksimpson-work in #315
- Set up a preliminary doc build/publish pipeline by @leofang in #325
- Fix doc ci permissions by @leofang in #338
- Add conda installation instructions by @leofang in #321
- Add a dummy email address to the doc bot by @leofang in #343
- multi gpu example by @amwi04 in #304
- Change
__cuda_stream__
from attribute to method by @NaderAlAwar in #389 - Ensure deprecation warnings from cuda.bindings are swallowed by @ksimpson-work in #404
- Add the options data class to program by @ksimpson-work in #237
- Update to use the new NVKS runners by @leofang in #426
- Disable notebook execution for
cuda.bindings
by @vzhurba01 in #424 - Stop tracking cached files and Jupyter notebook hashes in doc builds by @vzhurba01 in #425
- Documentation remove gpu dependency by @ksimpson-work in #398
- handle CTK version specific options in the linker test by @ksimpson-work in #371
- support ptx code type for program by @ksimpson-work in #317
- Update release checklist to focus on subpackages by @vzhurba01 in #427
- Kernel attributes by @ksimpson-work in #360
- Use cpu runner to build docs by @leofang in #434
- device properties by @ksimpson-work in #409
- Update linker options sequence handling by @ksimpson-work in #436
- Expose
ObjectCode
as public API + prune unnecessary input arguments by @ksimpson-work in #435 - Pin Sphinx <8.2.0 to fix doc build by @leofang in #456
- CI: Add Windows GPU runner for tests by @leofang in #444
- Improve program checks by @ksimpson-work in #394
- Various handle-related changes and improvements by @leofang in #463
- Improve perf of accessing
dev.compute_capability
by @leofang in #459 - Device properties example by @samaid in #474
- Add
ObjectCode
ptx constructor by @brandon-b-miller in #470 - Add a
Linker
example by @vzhurba01 in #475 - Add error log producing test by @ksimpson-work in #423
- Apply
__new__
approach to disabling__init__
by @rwgk in #484 - switch the launch argument order by @ksimpson-work in #316
- NEW: Create an Event without recording to Stream by @carterbox in #487
- Clearer error messages (cuda.core) by @rwgk in #458
- Add event timing by @leofang in #481
- Fix merge error by @leofang in #495
- add public handle to object code by @ksimpson-work in #492
- Bump
cuda-core
ver to v0.2.0 by @leofang in #494 - Increase tolerance in
test_timing()
to avoid flaky tests. by @rwgk in #498 - Fix
test_timing
flakiness under Windows by @rwgk in #508 - NEW: Add Event to public API by @carterbox in #501
- cuda.core: Change selected
.decode()
calls to.decode("utf-8", errors="backslashreplace")
by @rwgk in #510 - clean up device initialization in test by @ksimpson-work in #507
- Add
@functools.lru_cache
decorator forget_binding_version()
by @rwgk in #512 - Fix dangling pointer problem in _linker.py by @rwgk in #516
- cuda.core: release notes update by @rwgk in #519
- Set release date by @vzhurba01 in #523
New Contributors
- @amwi04 made their first contribution in #304
- @NaderAlAwar made their first contribution in #389
- @samaid made their first contribution in #474
- @brandon-b-miller made their first contribution in #470
- @carterbox made their first contribution in #487
Full Changelog: cuda-core-v0.1.1...cuda-core-v0.2.0