Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
one
spconv
Commits
f0ffe617
Commit
f0ffe617
authored
Dec 09, 2024
by
yan.yan
Browse files
add new prebuilts for 3.13 and cu126
parent
125a194d
Changes
33
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
34 additions
and
57 deletions
+34
-57
spconv/core_cc/csrc/sparse/inference.pyi
spconv/core_cc/csrc/sparse/inference.pyi
+1
-1
spconv/core_cc/csrc/utils/boxops.pyi
spconv/core_cc/csrc/utils/boxops.pyi
+1
-1
spconv/core_cc/csrc/utils/pcc.pyi
spconv/core_cc/csrc/utils/pcc.pyi
+4
-4
spconv/core_cc/cumm/common.pyi
spconv/core_cc/cumm/common.pyi
+1
-1
spconv/core_cc/cumm/conv/main.pyi
spconv/core_cc/cumm/conv/main.pyi
+1
-1
spconv/core_cc/cumm/gemm/main.pyi
spconv/core_cc/cumm/gemm/main.pyi
+1
-1
spconv/csrc/utils/pcc.py
spconv/csrc/utils/pcc.py
+2
-1
spconv/pytorch/functional.py
spconv/pytorch/functional.py
+5
-1
tools/build-wheels-dev.sh
tools/build-wheels-dev.sh
+3
-11
tools/build-wheels.sh
tools/build-wheels.sh
+2
-10
tools/install_windows_cuda.ps1
tools/install_windows_cuda.ps1
+11
-24
tools/linux_test_build.sh
tools/linux_test_build.sh
+1
-0
version.txt
version.txt
+1
-1
No files found.
spconv/core_cc/csrc/sparse/inference.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
from cumm.tensorview import Tensor
from cumm.tensorview.gemm import Activation
class InferenceOps:
...
...
spconv/core_cc/csrc/utils/boxops.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
from cumm.tensorview import Tensor
class BoxOps:
@staticmethod
...
...
spconv/core_cc/csrc/utils/pcc.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
from cumm.tensorview import Tensor
class PointCloudCompress:
@staticmethod
...
...
@@ -43,8 +43,8 @@ class PointCloudCompress:
data:
"""
...
class EncodeType:
XYZ_8 =
EnumClassValue(0) # type: EnumClassValue
XYZI_8 =
EnumClassValue(1) # type: EnumClassValue
class EncodeType
(enum.Enum)
:
XYZ_8 =
0
XYZI_8 =
1
@staticmethod
def __members__() -> Dict[str, EnumClassValue]: ...
spconv/core_cc/cumm/common.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
class CompileInfo:
@staticmethod
def get_compiled_cuda_version() -> Tuple[int, int]: ...
...
...
spconv/core_cc/cumm/conv/main.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
from cumm.tensorview.gemm import ConvParams
class ConvMainUnitTest:
@staticmethod
...
...
spconv/core_cc/cumm/gemm/main.pyi
View file @
f0ffe617
from typing import overload, Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union
from pccm.stubs import EnumValue, EnumClassValue
from pccm.stubs import EnumValue, EnumClassValue
, enum
from cumm.tensorview.gemm import GemmAlgoDesp
from cumm.tensorview.gemm import GemmParams
class GemmMainUnitTest:
...
...
spconv/csrc/utils/pcc.py
View file @
f0ffe617
...
...
@@ -95,7 +95,7 @@ class PointCloudCompress(pccm.Class):
enc[3] = uint8_t(inten);
}}
auto pos_uint = pos_int + hash_t::direct_hash_offset();
uint64_t scalar = hash_t::encode(pos_int[0], pos_int[1], pos_int[2]);
uint64_t scalar = hash_t::encode(pos_
u
int[0], pos_
u
int[1], pos_
u
int[2]);
auto iter = hash.find(scalar);
if (iter == hash.end()){{
auto pos_offset = pos_int.cast<float>() * vsize;
...
...
@@ -116,6 +116,7 @@ class PointCloudCompress(pccm.Class):
}}
}}
points_data += point_stride;
intensity_data += inten_stride;
}}
res = tv::empty({{final_size}}, tv::uint8, -1);
...
...
spconv/pytorch/functional.py
View file @
f0ffe617
...
...
@@ -41,8 +41,12 @@ _T = TypeVar("_T")
def
identity_decorator
(
func
:
_T
)
->
_T
:
return
func
if
PYTORCH_VERSION
>=
[
2
,
5
,
0
]:
import
torch.amp
as
amp
_TORCH_CUSTOM_FWD
=
amp
.
custom_fwd
(
cast_inputs
=
torch
.
float16
,
device_type
=
"cuda"
)
_TORCH_CUSTOM_BWD
=
amp
.
custom_bwd
(
device_type
=
"cuda"
)
if
PYTORCH_VERSION
>=
[
1
,
6
,
0
]:
el
if
PYTORCH_VERSION
>=
[
1
,
6
,
0
]:
import
torch.cuda.amp
as
amp
_TORCH_CUSTOM_FWD
=
amp
.
custom_fwd
(
cast_inputs
=
torch
.
float16
)
_TORCH_CUSTOM_BWD
=
amp
.
custom_bwd
...
...
tools/build-wheels-dev.sh
View file @
f0ffe617
...
...
@@ -27,24 +27,16 @@ function repair_wheel {
gcc
-v
export
SPCONV_DISABLE_JIT
=
"1"
export
CUMM_CUDA_ARCH_LIST
=
"8.6"
#
export SPCONV_PYTHON_LIST="3.
7;3.8;3.9;3.10
"
export
SPCONV_PYTHON_LIST
=
"3.
13
"
# Compile wheels, we only support 3.6-3.10.
# "/opt/python/cp36-cp36m/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp
for
PYVER
in
${
SPCONV_PYTHON_LIST
//;/
}
do
PYVER2
=
`
echo
"
$PYVER
"
|
sed
's/\.//'
`
PYVER_CP
=
"cp
$PYVER2
-cp
$PYVER2
"
if
[
"
$PYVER2
"
=
"36"
]
;
then
PYVER_CP
=
"cp
$PYVER2
-cp
${
PYVER2
}
m"
fi
if
[
"
$PYVER2
"
=
"37"
]
;
then
PYVER_CP
=
"cp
$PYVER2
-cp
${
PYVER2
}
m"
fi
if
[[
$PYVER2
==
*
"311"
*
]]
;
then
PYVER_CP
=
"cp311-cp311"
fi
PYVER_T
=
`
echo
"
$PYVER2
"
|
sed
's/t//'
`
PYVER_CP
=
"cp
$PYVER_T
-cp
$PYVER2
"
"/opt/python/
$PYVER_CP
/bin/pip"
wheel /io/
-v
--no-deps
-w
/io/wheelhouse_tmp
done
...
...
tools/build-wheels.sh
View file @
f0ffe617
...
...
@@ -34,17 +34,9 @@ export CUMM_CUDA_ARCH_LIST="all"
for
PYVER
in
${
SPCONV_PYTHON_LIST
//;/
}
do
PYVER2
=
`
echo
"
$PYVER
"
|
sed
's/\.//'
`
PYVER_CP
=
"cp
$PYVER2
-cp
$PYVER2
"
if
[
"
$PYVER2
"
=
"36"
]
;
then
PYVER_CP
=
"cp
$PYVER2
-cp
${
PYVER2
}
m"
fi
if
[
"
$PYVER2
"
=
"37"
]
;
then
PYVER_CP
=
"cp
$PYVER2
-cp
${
PYVER2
}
m"
fi
if
[[
$PYVER2
==
*
"311"
*
]]
;
then
PYVER_CP
=
"cp311-cp311"
fi
PYVER_T
=
`
echo
"
$PYVER2
"
|
sed
's/\t//'
`
PYVER_CP
=
"cp
$PYVER_T
-cp
$PYVER2
"
"/opt/python/
$PYVER_CP
/bin/pip"
wheel /io/
-v
--no-deps
-w
/io/wheelhouse_tmp
done
...
...
tools/install_windows_cuda.ps1
View file @
f0ffe617
...
...
@@ -13,7 +13,13 @@ $CUDA_KNOWN_URLS = @{
"11.6"
=
"https://developer.download.nvidia.com/compute/cuda/11.6.2/network_installers/cuda_11.6.2_windows_network.exe"
;
"11.7"
=
"https://developer.download.nvidia.com/compute/cuda/11.7.1/network_installers/cuda_11.7.1_windows_network.exe"
;
"11.8"
=
"https://developer.download.nvidia.com/compute/cuda/11.8.0/network_installers/cuda_11.8.0_windows_network.exe"
;
"12.0"
=
"https://developer.download.nvidia.com/compute/cuda/12.0.0/network_installers/cuda_12.0.0_windows_network.exe"
;
"12.0"
=
"https://developer.download.nvidia.com/compute/cuda/12.0.1/network_installers/cuda_12.0.1_windows_network.exe"
;
"12.1"
=
"https://developer.download.nvidia.com/compute/cuda/12.1.1/network_installers/cuda_12.1.1_windows_network.exe"
;
"12.2"
=
"https://developer.download.nvidia.com/compute/cuda/12.2.2/network_installers/cuda_12.2.2_windows_network.exe"
;
"12.3"
=
"https://developer.download.nvidia.com/compute/cuda/12.3.2/network_installers/cuda_12.3.2_windows_network.exe"
;
"12.4"
=
"https://developer.download.nvidia.com/compute/cuda/12.4.1/network_installers/cuda_12.4.1_windows_network.exe"
;
"12.5"
=
"https://developer.download.nvidia.com/compute/cuda/12.5.1/network_installers/cuda_12.5.1_windows_network.exe"
;
"12.6"
=
"https://developer.download.nvidia.com/compute/cuda/12.6.1/network_installers/cuda_12.6.1_windows_network.exe"
;
}
# cuda_runtime.h is in nvcc <= 10.2, but cudart >= 11.0
...
...
@@ -34,46 +40,28 @@ $CUDA_KNOWN_URLS = @{
$CUDA_VERSION_FULL
=
$
env
:
cuda
# Make sure CUDA_VERSION_FULL is set and valid, otherwise error.
if
((
$CUDA_VERSION_FULL
-eq
"10.2"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.0"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.1"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.2"
)){
if
((
$CUDA_VERSION_FULL
-eq
"10.2"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.0"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.1"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.2"
)
-or
(
$CUDA_VERSION_FULL
-eq
"11.3"
)){
$CUDA_PACKAGES_IN
=
@(
"nvcc"
;
"visual_studio_integration"
;
"nvrtc_dev"
;
"cudart"
;
"curand_dev"
;
# before 11.3, thrust are included by default and no explicit package exists
)
}
elseif
(
$CUDA_VERSION_FULL
-eq
"11.3"
){
$CUDA_PACKAGES_IN
=
@(
"nvcc"
;
"visual_studio_integration"
;
"nvrtc_dev"
;
"cudart"
;
"thrust"
;
"curand_dev"
;
)
}
else
{
# after cuda 11.4
$CUDA_PACKAGES_IN
=
@(
"nvcc"
;
"visual_studio_integration"
;
"curand_dev"
;
"nvrtc_dev"
;
"cudart"
;
"thrust"
;
"curand_dev"
;
"cuxxfilt"
;
# we need this to get libcu++ headers in cuda 12.0.
"thrust"
;
)
}
## -------------------
## Select CUDA version
## -------------------
# Get the cuda version from the environment as env:cuda.
# Make sure CUDA_VERSION_FULL is set and valid, otherwise error.
# Validate CUDA version, extracting components via regex
$cuda_ver_matched
=
$CUDA_VERSION_FULL
-match
"^(?<major>[1-9][0-9]*)\.(?<minor>[0-9]+)$"
if
(
-not
$cuda_ver_matched
){
...
...
@@ -83,7 +71,6 @@ if(-not $cuda_ver_matched){
$CUDA_MAJOR
=
$Matches
.
major
$CUDA_MINOR
=
$Matches
.
minor
## ------------------------------------------------
## Select CUDA packages to install from environment
## ------------------------------------------------
...
...
tools/linux_test_build.sh
0 → 100644
View file @
f0ffe617
sudo
docker run
--rm
-it
-e
CUMM_CUDA_VERSION
=
126
-e
PLAT
=
manylinux_2_28_x86_64
-v
`
pwd
`
:/io
-v
$HOME
:/myhome manylinux2014-cuda:cu126-devel bash
-c
"source /etc/bashrc && /io/tools/build-wheels-dev.sh"
\ No newline at end of file
version.txt
View file @
f0ffe617
2.3.
6
2.3.
7
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment