Skip to content

Add async kernel execution API#213

Open
gshaowei6 wants to merge 1 commit into
Syncleus:masterfrom
gshaowei6:add-async-kernel-execution-41
Open

Add async kernel execution API#213
gshaowei6 wants to merge 1 commit into
Syncleus:masterfrom
gshaowei6:add-async-kernel-execution-41

Conversation

@gshaowei6
Copy link
Copy Markdown

Fixes #41.

This adds a small asynchronous execution handle for kernels:

  • Kernel.executeAsync(...) overloads for Range, int, passes, and explicit entrypoints
  • public Execution handle with waitUntilFinished(), isFinished(), and getKernel()
  • background execution delegates to the existing synchronized execute(...) path, preserving current execution behavior while letting callers wait explicitly

Validation:

  • RED: KernelAsyncExecutionTest initially failed to compile because com.aparapi.Execution and Kernel.executeAsync(Range) did not exist.
  • Focused compile with javac -g --release 8 for Execution, Kernel, and KernelAsyncExecutionTest.
  • JUnitCore com.aparapi.runtime.KernelAsyncExecutionTest com.aparapi.runtime.MultiplePassesMemoryConsumptionTest passed (2 tests).
  • git diff --check passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BOUNTY $50] Support for asynchronously running a kernel

1 participant