[Piecewise] Support PCG weak_ref_tensor cuda kernel on AMD (#17291)
This commit is contained in:
@@ -2,9 +2,9 @@ from typing import Any, Union
|
|||||||
|
|
||||||
import torch
|
import torch
|
||||||
|
|
||||||
from sglang.srt.utils.common import is_cuda, is_npu
|
from sglang.srt.utils.common import is_cuda, is_hip, is_npu
|
||||||
|
|
||||||
if is_cuda():
|
if is_cuda() or is_hip():
|
||||||
from sgl_kernel import weak_ref_tensor
|
from sgl_kernel import weak_ref_tensor
|
||||||
elif is_npu():
|
elif is_npu():
|
||||||
from torch_npu._C import _weak_ref_tensor as weak_ref_tensor
|
from torch_npu._C import _weak_ref_tensor as weak_ref_tensor
|
||||||
|
|||||||
@@ -231,6 +231,12 @@ TORCH_LIBRARY_EXPAND(sgl_kernel, m) {
|
|||||||
"float scale,"
|
"float scale,"
|
||||||
"int max_period) -> Tensor");
|
"int max_period) -> Tensor");
|
||||||
m.impl("timestep_embedding", torch::kCUDA, ×tep_embedding);
|
m.impl("timestep_embedding", torch::kCUDA, ×tep_embedding);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* From csrc/memory
|
||||||
|
*/
|
||||||
|
m.def("weak_ref_tensor(Tensor tensor) -> Tensor");
|
||||||
|
m.impl("weak_ref_tensor", torch::kCUDA, &weak_ref_tensor);
|
||||||
}
|
}
|
||||||
|
|
||||||
REGISTER_EXTENSION(common_ops)
|
REGISTER_EXTENSION(common_ops)
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ sources = [
|
|||||||
"csrc/moe/moe_topk_sigmoid_kernels.cu",
|
"csrc/moe/moe_topk_sigmoid_kernels.cu",
|
||||||
"csrc/speculative/eagle_utils.cu",
|
"csrc/speculative/eagle_utils.cu",
|
||||||
"csrc/kvcacheio/transfer.cu",
|
"csrc/kvcacheio/transfer.cu",
|
||||||
|
"csrc/memory/weak_ref_tensor.cpp",
|
||||||
"csrc/elementwise/pos_enc.cu",
|
"csrc/elementwise/pos_enc.cu",
|
||||||
"csrc/sgl_diffusion/elementwise/timestep_embedding.cu",
|
"csrc/sgl_diffusion/elementwise/timestep_embedding.cu",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user