8000 GitHub - RicheyWorks/jcuda: JCuda - Java bindings for CUDA · GitHub
[go: up one dir, main page]

Skip to content
RicheyWorksPublic
forked from jcuda/jcuda

About

JCuda - Java bindings for CUDA

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

jcuda

JCuda - Java bindings for CUDA

This is the RicheyWorks contributor fork of upstream JCuda. The verified changes are now combined in this fork for its own development. This is not an official JCuda release; the original project and MIT attribution are preserved.

Want to help with Java, CUDA, JNI, testing or build setup? Start with CONTRIBUTING.md and the scoped starter proposals. Please check upstream issues and draft PRs before starting duplicate work.

Build and run on Windows

See the repeatable Windows build for matching fork Java/native JARs, a hash-checked launcher, and a tiny real GPU smoke test. It uses existing toolchain prerequisites and publishes no release.

For Java-only verification, install the sibling parent and run mvn -f JCudaJava/pom.xml -Pcpu-tests test: 113 checks without a GPU. See CPU test prerequisites and scope.

🏆 Fix log

23 distinct fixes integrated in the RicheyWorks forks: 22 runtime/API fixes (including diagnostic formatting) and 1 build fix. The original twenty-fix stack passed 198 focused regression cases plus 9 optional round-trip checks; a tiny GPU kernel also passed. Historical upstream submissions remain unmerged; those links are records of individual patches, not a promise of upstream review. This source integration is not a binary release. See integration and testing details. Companion tests, documentation and the separately credited community dependency do not increase our count.

The three later JNI safety fixes are recorded in the safety integration record, with separate combined validation and limits.

# Fix Evidence / historical upstream draft
1 Preserve direct-buffer marks when creating position-aware pointers Draft #49
2 Honor stored pointer offsets in both getByteBuffer views Draft #50
3 Support character buffers in Pointer.toBuffer Draft #51
4 Allow cuCtxSetCurrent(null) to unbind the calling thread's context Draft #52
5 Preserve native array output under JNI checking by honoring copy-back mode jcuda-common draft #4, companion tests #53
6 Remove incomplete native-library resources after failed extraction so retry can succeed Draft #54
7 Avoid pointer-size initialization failure when the data-model property is missing; infer known architectures Draft #55
8 Build: replace rejected Java 7 compiler options with an explicit Java 8 baseline jcuda-parent draft #2
9 Preserve device-pointer offsets when creating and querying driver texture resource descriptors Draft #56
10 Diagnostics: name combined memory-handle and graphics-registration flags instead of reporting INVALID Draft #57
11 Fix JNI field/handle errors and missing location values in the virtual-memory allocation/property workflow Draft #58
12 Return sparse-array tile dimensions in fresh result objects for plain and mipmapped queries Draft #59
13 Preserve native size counts in managed-memory advice/prefetch instead of truncating them on Win64 Draft #60
14 Preserve device name, UUID and LUID outputs when JNI uses copied array storage Draft #61
15 Reject invalid device-name output lengths before native array access Draft #62
16 Read virtual-memory access descriptor locations from the correct nested object Draft #63
17 Honor caller capacities and bound native output in five driver graph-list queries Draft #64
18 Return stream access-policy windows through the correct nested object and preserve their field values Draft #65
19 Return NVRTC lowered-name errors without reading an invalid output pointer or reporting false out-of-memory Draft #66
20 Reject undersized NVRTC binary-output arrays before native writes Draft #67
21 Validate PTX compiler lengths, output capacities and failed-query outputs Evidence
22 Bound NVRTC architecture-list output and preserve trailing Java elements Evidence
23 Preserve PCI bus-ID outputs on CUDA errors and validate native capacities Evidence

See the verified inventory for before/after evidence and testing limits. The 20-fix report was prepared privately; the next milestone is original JCuda GPU art. Join in with a focused, reproducible contribution; upstream review and release decisions remain with the original project.

Further fork work is recorded in the development log, including the primary-context test leak fix and its ownership regressions.

The fork also has weekly contributor inspection and explicit CPU verification, with read-only reports and no automatic PR execution or merging.

Refer to jcuda-main for further information and build instructions.

About

JCuda - Java bindings for CUDA

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0