Add fork README (mirror, contact, install) and ignore built DCNv4 .so.

Document the Gitea mirror for CVGL; extend .gitignore for extension artifacts.
Keep CUDA im2col/col2im and setup version tweaks in DCNv4_op.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pikaliov
2026-05-12 12:41:36 +03:00
parent 4b848f7dd7
commit b0786ca876
5 changed files with 116 additions and 7 deletions

View File

@@ -62,7 +62,7 @@ def get_extensions():
setup(
name="DCNv4",
version="1.0.0.post2",
version="1.0.0.post3+cvgl_k57",
author="Yuwen Xiong, Feng Wang",
url="",
description="PyTorch Wrapper for CUDA Functions of DCNv4",

View File

@@ -410,8 +410,40 @@ void _dcnv4_col2im_cuda(
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 8, true>;
}
break;
case 25:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 25, true>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 25, true>;
}
break;
case 24:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 24, true>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 24, true>;
}
break;
case 49:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 49, true>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 49, true>;
}
break;
case 48:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 48, true>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 48, true>;
}
break;
default:
printf("K=%ld\n", K);
printf("K=%d\n", K);
throw std::invalid_argument("invalid kernel shape");
}
} else {
@@ -432,8 +464,40 @@ void _dcnv4_col2im_cuda(
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 8, false>;
}
break;
case 25:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 25, false>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 25, false>;
}
break;
case 24:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 24, false>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 24, false>;
}
break;
case 49:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 49, false>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 49, false>;
}
break;
case 48:
if(check_backward_warpp(d_stride, D)){
kernel = backward_kernel_dcn_warp_primitive<scalar_t, d_stride, stride_type, 1, 48, false>;
}
else {
kernel = backward_kernel_dcn<scalar_t, d_stride, stride_type, 1, 48, false>;
}
break;
default:
printf("K=%ld\n", K);
printf("K=%d\n", K);
throw std::invalid_argument("invalid kernel shape");
}
}

View File

@@ -279,8 +279,20 @@ void _dcnv4_im2col_cuda(cudaStream_t stream,
case 8:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 8, true>;
break;
case 25:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 25, true>;
break;
case 24:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 24, true>;
break;
case 49:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 49, true>;
break;
case 48:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 48, true>;
break;
default:
printf("K=%ld\n", K);
printf("K=%d\n", K);
throw std::invalid_argument("invalid kernel shape");
}
} else {
@@ -290,9 +302,21 @@ void _dcnv4_im2col_cuda(cudaStream_t stream,
break;
case 8:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 8, false>;
break;
break;
case 25:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 25, false>;
break;
case 24:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 24, false>;
break;
case 49:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 49, false>;
break;
case 48:
kernel = forward_kernel_dcn_reg<scalar_t, d_stride, stride_type, 1, 48, false>;
break;
default:
printf("K=%ld\n", K);
printf("K=%d\n", K);
throw std::invalid_argument("invalid kernel shape");
}
}