ILGPU v2.0 Architecture - Apple Metal & AMD ROCm Accelerators#1576
Open
ILGPU v2.0 Architecture - Apple Metal & AMD ROCm Accelerators#1576
Conversation
… new runtime surface (part 2/2).
…ntime-native descriptors (part 1/2).
… new runtime surface (part 1/2).
…ilities (part 1/2).
…ilities (part 2/2).
…jects superseded by the ILGPUC-based test suite (part 6/9).
…jects superseded by the ILGPUC-based test suite (part 7/9).
…jects superseded by the ILGPUC-based test suite (part 8/9).
…jects superseded by the ILGPUC-based test suite (part 9/9).
ebd24b9 to
1ef6d01
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Finishes the runtime library work begun in
new_architecture(PR #1355) so the newAccelerator/Device/Kernelsurface is complete and ready to host the new AOT compiler in the follow-up PR. All changes land underSrc/ILGPU/plus solution-file hygiene. It brings native Apple Metal and AMD ROCm support via new accelerators and runtime systems.What's in this PR
APIwrapper,Device,Accelerator,AcceleratorCapabilities,Kernel,CompiledKernel,MemoryBuffer,Stream,ProfilingMarker, and context extensions (11 files each).CPUDevice,CPUAccelerator,CPUAcceleratorCapabilities,CPUKernel,CPUCompiledKernel,CPURuntimeView,CPUStream,CPUContextExtensions, plus the atomic / math / vector intrinsic emitters and page-lock refinements.CudaAPI.Binaryloader for driver-specific entry points,CLAcceleratorCapabilitiesdescriptor, and updates to the existingCudaAccelerator/CudaKernel/CLDevice/CLMemoryBufferclasses to match the new abstractions.CudaDriverVersionandCudaArchitecturemigrated to T4-generated tables.AcceleratorArchitecture(renamed and generalized from the old Cuda-specificCudaArchitecture) andAcceleratorCapabilitiesdescriptors; refinedAccelerator,AcceleratorStream,Device,Kernel,CompiledKernel,AllocationManager,ArrayViewExtensions, and the top-levelContext/Context.Builder/Context.KernelSource/Group/Warp/ArrayView.ScanReducereshaped. TheIScanReduceOperationinterface (52% similar) is renamed intoScanReduceTypesto better reflect its new role as a type collection. Extensions helper and T4 operation generator retired.ILGPU.Tests,ILGPU.Tests.CPU,ILGPU.Tests.Cuda,ILGPU.Algorithms.Tests,ILGPU.Analyzers, andILGPU.Analyzers.Testsprojects are dropped — they are superseded by the ILGPUC-based test suite that lands in#BINDINGS-PR. Six removals in total, pruned from the solution file as the last commit.FormatStringhelper and legacy Capabilities T4 import retired.Scope boundary
Nothing under
Src/ILGPUC/, no changes to the new compiler, IR, backends, or tests. Those extensions will land later in follow-up PRs.Depends on
PR #1355 must be merged first.
Fixes
Fixes #769, fixes #1248, fixes #1257, fixes #1263, fixes #1519, fixes #1369, closes #1268
closes #1107 - The newly enhanced runtime system enables basic building blocks that we may want to turn into a higher level library eventually.
closes #1535 - The new architecture will no longer support .Net Standard 2.1 - .Net 10 is the minimum requirement