From 51d85ea87ef17f86d334b8dfec9fe5bfb1131628 Mon Sep 17 00:00:00 2001 From: Jiacheng Huang Date: Thu, 2 Jul 2026 12:46:40 +0800 Subject: [PATCH] fix: update InfiniRT runtime API usage --- src/native/cuda/hygon/runtime_.h | 8 ++++++-- src/native/cuda/ops/add/kernel.h | 2 +- src/native/cuda/ops/conv_infinilm/kernel.h | 2 +- src/native/cuda/ops/embedding/kernel.h | 2 +- src/native/cuda/ops/gelu_infinilm/kernel.h | 2 +- src/native/cuda/ops/gelutanh_infinilm/kernel.h | 2 +- src/native/cuda/ops/kv_caching_infinilm/kernel.h | 2 +- src/native/cuda/ops/rearrange_infinilm/kernel.h | 2 +- src/native/cuda/ops/relu_infinilm/kernel.h | 2 +- src/native/cuda/ops/sigmoid_infinilm/kernel.h | 2 +- src/native/cuda/ops/silu/kernel.h | 2 +- src/native/cuda/ops/softmax_infinilm/kernel.h | 2 +- src/native/cuda/ops/swiglu/kernel.h | 2 +- src/native/cuda/ops/topksoftmax_infinilm/kernel.h | 2 +- src/native/cuda/ops/zeros_infinilm/kernel.h | 2 +- src/native/cuda/runtime_.h | 4 ++-- src/runtime.h | 4 ++-- 17 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/native/cuda/hygon/runtime_.h b/src/native/cuda/hygon/runtime_.h index da1f63e7d..4cc17beb9 100644 --- a/src/native/cuda/hygon/runtime_.h +++ b/src/native/cuda/hygon/runtime_.h @@ -16,10 +16,14 @@ namespace infini::ops { template <> struct Runtime : CudaRuntime> { + using Error = cudaError_t; + using Stream = cudaStream_t; static constexpr Device::Type kDeviceType = Device::Type::kHygon; + static constexpr Error kSuccess = cudaSuccess; + static constexpr auto Malloc = [](auto&&... args) { return cudaMalloc(std::forward(args)...); }; @@ -30,9 +34,9 @@ struct Runtime return cudaFree(std::forward(args)...); }; - static constexpr auto MemcpyHostToDevice = cudaMemcpyHostToDevice; + static constexpr auto kMemcpyHostToDevice = cudaMemcpyHostToDevice; - static constexpr auto MemcpyDeviceToHost = cudaMemcpyDeviceToHost; + static constexpr auto kMemcpyDeviceToHost = cudaMemcpyDeviceToHost; static constexpr auto Memset = cudaMemset; }; diff --git a/src/native/cuda/ops/add/kernel.h b/src/native/cuda/ops/add/kernel.h index ac3e698d4..07a111261 100644 --- a/src/native/cuda/ops/add/kernel.h +++ b/src/native/cuda/ops/add/kernel.h @@ -51,7 +51,7 @@ class CudaAdd : public Add { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaAdd() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/conv_infinilm/kernel.h b/src/native/cuda/ops/conv_infinilm/kernel.h index 45dc2274e..7f074114b 100644 --- a/src/native/cuda/ops/conv_infinilm/kernel.h +++ b/src/native/cuda/ops/conv_infinilm/kernel.h @@ -93,7 +93,7 @@ class CudaConvInfinilm : public ConvInfinilm { std::memcpy(metadata.data() + offset, dilation_.data(), attrs_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaConvInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/embedding/kernel.h b/src/native/cuda/ops/embedding/kernel.h index 25b244858..7e8186383 100644 --- a/src/native/cuda/ops/embedding/kernel.h +++ b/src/native/cuda/ops/embedding/kernel.h @@ -57,7 +57,7 @@ class CudaEmbedding : public Embedding { out_strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaEmbedding() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/gelu_infinilm/kernel.h b/src/native/cuda/ops/gelu_infinilm/kernel.h index d7c7b1d78..e76881cd4 100644 --- a/src/native/cuda/ops/gelu_infinilm/kernel.h +++ b/src/native/cuda/ops/gelu_infinilm/kernel.h @@ -46,7 +46,7 @@ class CudaGeluInfinilm : public GeluInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaGeluInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/gelutanh_infinilm/kernel.h b/src/native/cuda/ops/gelutanh_infinilm/kernel.h index ca0361909..dfe526ab5 100644 --- a/src/native/cuda/ops/gelutanh_infinilm/kernel.h +++ b/src/native/cuda/ops/gelutanh_infinilm/kernel.h @@ -45,7 +45,7 @@ class CudaGelutanhInfinilm : public GelutanhInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaGelutanhInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/kv_caching_infinilm/kernel.h b/src/native/cuda/ops/kv_caching_infinilm/kernel.h index 79c836dc6..0cbd66738 100644 --- a/src/native/cuda/ops/kv_caching_infinilm/kernel.h +++ b/src/native/cuda/ops/kv_caching_infinilm/kernel.h @@ -50,7 +50,7 @@ class CudaKvCachingInfinilm : public KvCachingInfinilm { std::memcpy(metadata.data() + offset, v_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaKvCachingInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/rearrange_infinilm/kernel.h b/src/native/cuda/ops/rearrange_infinilm/kernel.h index 433636612..b4b4f554f 100644 --- a/src/native/cuda/ops/rearrange_infinilm/kernel.h +++ b/src/native/cuda/ops/rearrange_infinilm/kernel.h @@ -45,7 +45,7 @@ class CudaRearrangeInfinilm : public RearrangeInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaRearrangeInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/relu_infinilm/kernel.h b/src/native/cuda/ops/relu_infinilm/kernel.h index 975fcb82c..f58d8b550 100644 --- a/src/native/cuda/ops/relu_infinilm/kernel.h +++ b/src/native/cuda/ops/relu_infinilm/kernel.h @@ -44,7 +44,7 @@ class CudaReluInfinilm : public ReluInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaReluInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/sigmoid_infinilm/kernel.h b/src/native/cuda/ops/sigmoid_infinilm/kernel.h index 459464389..dd1a512cf 100644 --- a/src/native/cuda/ops/sigmoid_infinilm/kernel.h +++ b/src/native/cuda/ops/sigmoid_infinilm/kernel.h @@ -45,7 +45,7 @@ class CudaSigmoidInfinilm : public SigmoidInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaSigmoidInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/silu/kernel.h b/src/native/cuda/ops/silu/kernel.h index a3bc46689..f883de566 100644 --- a/src/native/cuda/ops/silu/kernel.h +++ b/src/native/cuda/ops/silu/kernel.h @@ -44,7 +44,7 @@ class CudaSilu : public Silu { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaSilu() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/softmax_infinilm/kernel.h b/src/native/cuda/ops/softmax_infinilm/kernel.h index e9856f3f1..03197fe37 100644 --- a/src/native/cuda/ops/softmax_infinilm/kernel.h +++ b/src/native/cuda/ops/softmax_infinilm/kernel.h @@ -42,7 +42,7 @@ class CudaSoftmaxInfinilm : public SoftmaxInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaSoftmaxInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/swiglu/kernel.h b/src/native/cuda/ops/swiglu/kernel.h index bfd19df48..486617f43 100644 --- a/src/native/cuda/ops/swiglu/kernel.h +++ b/src/native/cuda/ops/swiglu/kernel.h @@ -51,7 +51,7 @@ class CudaSwiglu : public Swiglu { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaSwiglu() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/topksoftmax_infinilm/kernel.h b/src/native/cuda/ops/topksoftmax_infinilm/kernel.h index bc9a157be..df157fbac 100644 --- a/src/native/cuda/ops/topksoftmax_infinilm/kernel.h +++ b/src/native/cuda/ops/topksoftmax_infinilm/kernel.h @@ -43,7 +43,7 @@ class CudaTopksoftmaxInfinilm : public TopksoftmaxInfinilm { strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaTopksoftmaxInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/ops/zeros_infinilm/kernel.h b/src/native/cuda/ops/zeros_infinilm/kernel.h index 4b8db9277..49c686d4b 100644 --- a/src/native/cuda/ops/zeros_infinilm/kernel.h +++ b/src/native/cuda/ops/zeros_infinilm/kernel.h @@ -37,7 +37,7 @@ class CudaZerosInfinilm : public ZerosInfinilm { std::memcpy(metadata.data() + offset, out_strides_.data(), strides_size); Backend::Memcpy(d_metadata_, metadata.data(), metadata_size, - Backend::MemcpyHostToDevice); + Backend::kMemcpyHostToDevice); } ~CudaZerosInfinilm() { Backend::Free(d_metadata_); } diff --git a/src/native/cuda/runtime_.h b/src/native/cuda/runtime_.h index 4e4e61404..5c07a736f 100644 --- a/src/native/cuda/runtime_.h +++ b/src/native/cuda/runtime_.h @@ -17,9 +17,9 @@ struct CudaRuntime : DeviceRuntime { DeviceRuntime::Validate(); static_assert( std::is_invocable_v, + size_t, decltype(Derived::kMemcpyHostToDevice)>, "`Runtime::Memcpy` must be callable with " - "`(void*, const void*, size_t, MemcpyHostToDevice)`."); + "`(void*, const void*, size_t, kMemcpyHostToDevice)`."); return true; } }; diff --git a/src/runtime.h b/src/runtime.h index 251be195d..a07d79bae 100644 --- a/src/runtime.h +++ b/src/runtime.h @@ -6,10 +6,10 @@ namespace infini::ops { template -using Runtime = infini::rt::Runtime; +using Runtime = infini::rt::runtime::Runtime; template -using DeviceRuntime = infini::rt::DeviceRuntime; +using DeviceRuntime = infini::rt::runtime::DeviceRuntime; } // namespace infini::ops