text:
[Installation]

Is there an existing issue for this?

[X] I have searched the existing issues

Have you followed all the steps in the FAQ?

[X] I have tried the steps in the FAQ.

Current Behavior
No response
Error Line
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
Environment
- GCC: gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
- NVCC: Cuda compilation tools, release 10.2, V10.2.89
- PyTorch:1.7.1
- PyTorch CUDA:10.2

Full Error Log

Error Log
 pip install --upgrade git+https://github.com/mit-han-lab/torchsparse.git

Collecting git+https://github.com/mit-han-lab/torchsparse.git
Cloning https://github.com/mit-han-lab/torchsparse.git to /tmp/pip-req-build-h1lex__9
Running command git clone --filter=blob:none -q https://github.com/mit-han-lab/torchsparse.git /tmp/pip-req-build-h1lex__9
Resolved https://github.com/mit-han-lab/torchsparse.git to commit 3cf80daa7d266de05b1c8b3512838312e35e6757
Preparing metadata (setup.py) ... done
Building wheels for collected packages: torchsparse
Building wheel for torchsparse (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/libing/anaconda3/envs/nvidia-semseg/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-h1lex__9/setup.py'"'"'; file='"'"'/tmp/pip-req-build-h1lex__9/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-t2z73o4p
cwd: /tmp/pip-req-build-h1lex__9/
Complete output (273 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/torchsparse
copying torchsparse/init.py -> build/lib.linux-x86_64-3.6/torchsparse
copying torchsparse/tensor.py -> build/lib.linux-x86_64-3.6/torchsparse
copying torchsparse/operators.py -> build/lib.linux-x86_64-3.6/torchsparse
copying torchsparse/version.py -> build/lib.linux-x86_64-3.6/torchsparse
creating build/lib.linux-x86_64-3.6/torchsparse/nn
copying torchsparse/nn/init.py -> build/lib.linux-x86_64-3.6/torchsparse/nn
creating build/lib.linux-x86_64-3.6/torchsparse/utils
copying torchsparse/utils/init.py -> build/lib.linux-x86_64-3.6/torchsparse/utils
copying torchsparse/utils/utils.py -> build/lib.linux-x86_64-3.6/torchsparse/utils
copying torchsparse/utils/quantize.py -> build/lib.linux-x86_64-3.6/torchsparse/utils
copying torchsparse/utils/collate.py -> build/lib.linux-x86_64-3.6/torchsparse/utils
creating build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/count.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/init.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/devoxelize.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/crop.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/query.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/pooling.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/hash.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/activation.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/voxelize.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/downsample.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
copying torchsparse/nn/functional/conv.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/functional
creating build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/init.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/crop.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/pooling.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/norm.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/bev.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/activation.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
copying torchsparse/nn/modules/conv.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/modules
creating build/lib.linux-x86_64-3.6/torchsparse/nn/utils
copying torchsparse/nn/utils/init.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/utils
copying torchsparse/nn/utils/apply.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/utils
copying torchsparse/nn/utils/kernel.py -> build/lib.linux-x86_64-3.6/torchsparse/nn/utils
running build_ext
building 'torchsparse.backend' extension
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hash
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/voxelize
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hashmap
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize
creating /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/convolution
Emitting ninja build file /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hashmap/hashmap_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/hashmap/hashmap_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hashmap/hashmap_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="gcc"' '-DPYBIND11_STDLIB="libstdcpp"' '-DPYBIND11_BUILD_ABI="cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[2/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/hashmap/hashmap_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hashmap/hashmap_cuda.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS_ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/tmp/pip-req-build-h1lex__9/torchsparse/backend/hashmap/hashmap_cuda.cu(28): warning: argument is incompatible with corresponding format string conversion
[3/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/devoxelize/devoxelize_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize/devoxelize_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="gcc"' '-DPYBIND11_STDLIB="libstdcpp"' '-DPYBIND11_BUILD_ABI="cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
FAILED: /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize/devoxelize_cuda.o
/usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/devoxelize/devoxelize_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize/devoxelize_cuda.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS_ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
Killed
[4/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize/devoxelize_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/devoxelize/devoxelize_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/devoxelize/devoxelize_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[5/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/query_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/others/query_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/query_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[6/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/convolution/convolution_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/convolution/convolution_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[7/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/pybind_cuda.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/pybind_cuda.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/pybind_cuda.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[8/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/voxelize/voxelize_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/voxelize/voxelize_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[9/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hash/hash_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/hash/hash_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hash/hash_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="gcc"' '-DPYBIND11_STDLIB="libstdcpp"' '-DPYBIND11_BUILD_ABI="cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[10/15] c++ -MMD -MF /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/count_cpu.o.d -pthread -B /home/libing/anaconda3/envs/nvidia-semseg/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/others/count_cpu.cpp -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/count_cpu.o -g -O3 -fopenmp -lgomp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="gcc"' '-DPYBIND11_STDLIB="libstdcpp"' '-DPYBIND11_BUILD_ABI="cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
[11/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/convolution/convolution_cuda.o -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:138:45: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:138:100: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:153:45: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:153:100: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:238:45: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:238:100: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:248:45: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:248:100: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:266:45: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/convolution/convolution_cuda.cu:266:100: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
[12/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/others/count_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/count_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
[13/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/hash/hash_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/hash/hash_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
[14/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/voxelize/voxelize_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu:53:44: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu:53:99: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu: In lambda function:
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu:72:46: warning: ‘at::DeprecatedTypeProperties& at::Tensor::type() const’ is deprecated: Tensor.type() is deprecated. Instead use Tensor.options(), which in many cases (e.g. in a constructor) is a drop-in replacement. If you were using data from type(), that is now available from Tensor itself, so instead of tensor.type().scalar_type(), use tensor.scalar_type() instead and instead of tensor.type().backend() use tensor.device(). [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/TensorBody.h:277:1: note: declared here
DeprecatedTypeProperties & type() const {
^ ~~
/tmp/pip-req-build-h1lex__9/torchsparse/backend/voxelize/voxelize_cuda.cu:72:101: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated: passing at::DeprecatedTypeProperties to an AT_DISPATCH macro is deprecated, pass an at::ScalarType instead [-Wdeprecated-declarations]
AT_DISPATCH_FLOATING_TYPES_AND_HALF(
^
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/Dispatch.h:66:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties& t) {
^~~~~~~~~~~
[15/15] /usr/local/cuda-10.2/bin/nvcc -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/TH -I/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/libing/anaconda3/envs/nvidia-semseg/include/python3.6m -c -c /tmp/pip-req-build-h1lex__9/torchsparse/backend/others/query_cuda.cu -o /tmp/pip-req-build-h1lex__9/build/temp.linux-x86_64-3.6/torchsparse/backend/others/query_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=backend -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++14
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/boxing/impl/boxing.h(100): warning: integer conversion resulted in a change of sign
/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/include/ATen/core/op_registration/op_whitelist.h(39): warning: integer conversion resulted in a change of sign
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1539, in _run_ninja_build
env=env)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-req-build-h1lex__9/setup.py", line 40, in
zip_safe=False,
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 299, in run
self.run_command('build')
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 670, in build_extensions
build_ext.build_extensions(self)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
_build_ext.build_extension(self, ext)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 500, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1255, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/home/libing/anaconda3/envs/nvidia-semseg/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1555, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
ERROR: Failed building wheel for torchsparse
Running setup.py clean for torchsparse
Failed to build torchsparse
Installing collected packages: torchsparse
Running setup.py install for torchsparse ... done
DEPRECATION: torchsparse was installed using the legacy 'setup.py install' method, because a wheel could not be built for it. A possible replacement is to fix the wheel build issue reported above. Discussion can be found at https://github.com/pypa/pip/issues/8368
Successfully installed torchsparse-1.4.0
(nvidia-semseg) libing@drl-dz0599:~/source/semantic_segment/torchsparse$

fixed by changing "ninja" "-v" to "ninja" "--version"
https://www.i4k.xyz/article/weixin_43731803/116787152

pip install --upgrade git+https://github.com/mit-han-lab/torchsparse.git@v1.4.0     i use this command .and it show
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting git+https://github.com/mit-han-lab/torchsparse.git
Cloning https://github.com/mit-han-lab/torchsparse.git to /tmp/pip-req-build-onghpz7i
Running command git clone --filter=blob:none --quiet https://github.com/mit-han-lab/torchsparse.git /tmp/pip-req-build-onghpz7i
fatal: 无法访问 'https://github.com/mit-han-lab/torchsparse.git/'：Could not resolve proxy: proxy.example.com
error: subprocess-exited-with-error
× git clone --filter=blob:none --quiet https://github.com/mit-han-lab/torchsparse.git /tmp/pip-req-build-onghpz7i did not run successfully.
│ exit code: 128
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× git clone --filter=blob:none --quiet https://github.com/mit-han-lab/torchsparse.git /tmp/pip-req-build-onghpz7i did not run successfully.
│ exit code: 128
╰─> See above for output

repo: mit-han-lab/torchsparse


text:
Fix "represented" typo

Other than the odd typo, these docs are fantastic! Thanks guys!

Derp

source: gharchive/pull-request

repo: mitchhentges/rust-www

license_type: permissive

license_source: github-api


text:
Add get_staff() function

It would be useful to retrieve staff members from LMod web service

There are multiple ways to retrieve staff members from LMod web service.  There is an endpoint to get staff for a gradebook, and an endpoint to get staff for a course.  I'm checking with the LMod team to determine if these lists are different.  I don't know if they have an invariant such that every gradebook has one course and one course has one gradebook.

@pdpinch @carsongee  What if we implemented a GradeBook.get_gradebook_staff() and a Membership.get_course_staff()?  (I still haven't heard back from the LMod team about whether they're the same list.)

sounds good

As a result of our discussion, I will implement a get_staff() function in GradeBook and another one in Membership.  I'll create a PR for each.

This is the response to my question to the LMod team about multiple ways to retrieve staff:

Good afternoon,
Members come from a course's membership regardless of which service/scope the members are being pulled for (gradebook vs. course). To the best of our knowledge, the lists would always be the same.
Sincerely,
Learning Modules Support*

In light of this response, I think we can skip the GradeBook.get_staff() implementation for MVP.
@pdpinch @carsongee Please concur or reject.  :-)

Makes sense to me.
Not sure how best to document this for users, but for Mvp my interests are very narrow.

I am mobile.

On Mar 31, 2015, at 3:37 PM, Peter Wilkins notifications@github.com wrote:
This is the response to my question to the LMod team about multiple ways to retrieve staff:
Good afternoon,
Members come from a course's membership regardless of which service/scope the members are being pulled for (gradebook vs. course). To the best of our knowledge, the lists would always be the same.
Sincerely,
Learning Modules Support*
In light of this response, I think we can skip the GradeBook.get_staff() implementation for MVP.
@pdpinch @carsongee Please concur or reject. :-)
—
Reply to this email directly or view it on GitHub.

Sounds good, I would add a note either in the gradebook class doc string, or probably more simply in the https://github.com/mitodl/PyLmod/blob/master/docs/api.rst file under GradeBook to convey this.

@pdpinch @carsongee @bdero I have an API best practices question: If I am to faithfully map my Membership.get_staff() to the LMod web service API, I would pass get_staff() a course identifier.  The way to get a course identifier is to call GradeBook.get_options() with the gradebook identifier.  It appears that for our usage, using the Membership.get_staff() requires a GradeBook object.
So the question is whether a good API has the user making multiple API calls, or hides multiple calls behind convenience API endpoints that reflect the usage we expect our users to want, even if these convenience APIs are contrary to the spirit of the underlying web service?

source: gharchive/issue

authors: carsongee pdpinch pwilkins

repo: mitodl/PyLmod

license_source: bigquery


text:
Fix object field validation

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[ ] Desktop screenshots
[ ] Mobile width screenshots

[ ] Migrations

[ ] Migration is backwards-compatible with current production code

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

[ ] Settings

[ ] New settings are documented and present in app.json
[ ] New settings have reasonable development defaults, if applicable
[ ] Opened issue for DevOps regarding necessary configuration changes to deployed environments

What are the relevant tickets?
Fixes #337
What's this PR do?
Changes the rename field behavior to be similar to before. object fields will be renamed for the Field objects when they render, but not for validation or submission to the API
I wasn't sure if the scope of #337 included showing validation errors when the object field is collapsed, so I left it as is.
How should this be manually tested?

Create a site with the omnibus starter. Mark one or all of the fields in the address object as required
Add a site and click Save without touching any of the address fields. You should see validation error text for the address fields you marked as required. On master the form would be missing validation errors for address fields unless you alter them first.

@gsidebo would you mind taking a look at this too? Just want to make sure I'm not undoing anything that was intended to be changed in #305

repo: mitodl/ocw-studio


text:
Fix handling of empty values in new content

Pre-Flight checklist

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
Fixes #359
What's this PR do?
TBD
How should this be manually tested?
TBD

Codecov Report

Merging #360 (04bcdf8) into master (78a5ffc) will increase coverage by 5.39%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master     #360      +/-   ##
==========================================
+ Coverage   88.79%   94.18%   +5.39%
==========================================
  Files         123       60      -63
  Lines        3890     1375    -2515
  Branches      597      315     -282
==========================================
- Hits         3454     1295    -2159
+ Misses        394       79     -315
+ Partials       42        1      -41

Impacted Files
Coverage Δ

static/js/lib/site_content.ts
99.25% <75.00%> (+6.19%)
:arrow_up:

websites/views.py

websites/models.py

websites/config_schema/api.py

content_sync/backends/base.py

content_sync/apis/github.py

content_sync/models.py

content_sync/decorators.py

content_sync/api.py

fixtures/common.py

... and 54 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 78a5ffc...04bcdf8. Read the comment docs.

authors: codecov-commenter noisecapella


text:
Error when running mitogen: "struct.error: 'q' format requires -9223372036854775808 <= number <= 9223372036854775807"

👋 Hey,
I was experimenting with mitogen today, and ran into the following issues in one of our devices:
ERROR! [mux  38874] 12:56:57.828568 E mitogen.[ssh.lisbon-wago-pfc200.netbird.cloud]: ExternalContext.main() crashed
Traceback (most recent call last):
  File "<stdin>", line 4184, in main
  File "<stdin>", line 3921, in run
  File "<stdin>", line 675, in _profile_hook
  File "<stdin>", line 3904, in _dispatch_calls
  File "<stdin>", line 1233, in __iter__
  File "<stdin>", line 1219, in get
  File "<stdin>", line 2831, in get
  File "<stdin>", line 2795, in _make_cookie
struct.error: 'q' format requires -9223372036854775808 <= number <= 9223372036854775807

This happens when gathering facts on a normal playbook. I've tested this playbook with mitogen on different hosts and it ran normally.

Do you have some idea of what the underlying problem may be?

I suspect it's something to do with this being a musl linked python interpreter, but I can't really confirm it. I've attached strace logs (following the instructions on the website) as well as ansible logs with the verbose flags.
The logs are running on the latest git commit of mitogen (e8005ece3ab39dacefdae81517610a9cd1ed6312) and the error seems to point to this line (https://github.com/mitogen-hq/mitogen/blob/e8005ece3ab39dacefdae81517610a9cd1ed6312/mitogen/core.py#L2795-L2796)
I haven't run into any incompatibilities when running ansible (without mitogen) on this host otherwise.

Which version of Ansible are you running?

ansible [core 2.17.6]

Is your version of Ansible patched in any way?

It's installed from homebrew but I don't think they carry any patches

Are you running with any custom modules, or module_utils loaded?

No

Have you tried the latest master version from Git?

Yes!

Mention your host and target OS and versions

Host: MacOS Sonoma 14.6.1
Target: PTXDist 4.6.1  (Linux bad 5.15.107-rt62-w04.03.06 #1 PREEMPT_RT Wed Oct 23 17:06:52 UTC 2024 armv7l GNU/Linux)

Mention your host and target Python versions

Host Python: Python 3.12.7 (Installed from homebrew)
Target Python: Python 3.13.1 (Built against musl libc)
Attached Files:
ansible-verbose.txt
ansible-config-changed.txt
strace-python.12959.12963.txt
strace-python.12959.12964.txt
strace-python.12959.12986.txt

It looks like thread.get_ident() on this device returns a huge number...
root@bad:~ python3
Python 3.13.1 (main, Dec 10 2024, 03:04:53) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _thread as thread
>>> thread.get_ident()
18446744072484806452

This may also be Python 3.13 / 3.13.1 specific. I installed Python 3.12.8 and I now get reasonable numbers out of get_ident
root@bad:~ python3
Python 3.12.8 (main, Dec  7 2024, 05:56:13) [GCC 14.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _thread as thread
>>> thread.get_ident()
3069599540

repo: mitogen-hq/mitogen


text:
ordering of row, column in the vertices section of .graph file

While writing out the ground truth graph as .graph file, we are ordering the vertices section as follows:
 row column

where, (row, column) is the pixel position in numpy terms with origin as the top-left corner of the image. So, a vertex with values (3, 6) will correspond to row position 3 and column position 6 from the top-left.
You do mention about the ordering in the following comment but I was still confused about which one was row/column:
https://github.com/mitroadmaps/roadtracer/issues/11#issuecomment-417822896
Are we doing it wrong?
P.S. We have one tile per region.

I think my earlier comment is incorrect.
(0, 0) should be bottom left of imagery and it should be (column, row).

Does it mean we need to change line 97 in utils/mapextract.py to the following?
f.write('{} {}\n'.format(vertex[1], vertex[0]))

Will this be sufficient or do we also need to transform to account for the fact that bottom-left is (0,0) instead of the top-left?

Sorry. I just realized there's im = numpy.swapaxes(im, 0, 1) and the above modification is not required.
I am still not sure if any other coordinate transformation is required.

authors: bparaj uakfdotb

repo: mitroadmaps/roadtracer

license: MIT


text:
State of block sets

Hi!
According with this: http://jinja.pocoo.org/docs/dev/templates/#block-assignments it is possible to asign blocks to variables but I could check that it doesn't work @ Jinja2==2.8-devdev-20141113
It doesn't crash but the variable seems empty
am i correct?
Did you know any news about this stuff?
Thanks

>>> env = Environment()
>>> env.from_string('{% set foo %}bar{% endset -%} foo={{ foo }}').render()
'foo=bar'

Works fine for me with the current Git version; there's even a testcase for it.
Do you have any code reproducing the issue?

Sorry, has been kind of 3 month since I publish this issue
As you can expect I solve my needs in other ways so I don't have the code

I have just seen what is perhaps the same oddness that @Garito initially reported.
Assignments within a single template works as I would expect and as @ThiefMaster showed, however when using template inheritance the block assignments no longer work consistently as they do when not using template inheritance. Testing done using version Jinja2 2.8 from PyPi.
Single template
This all works:
from jinja2 import Environment

env = Environment()

# Assignment and block assignment without blocks work as I would expect
print(env.from_string(
    '''1: {% set assignment="ASSIGN" %}{% set block_assignment %}BLOCK{% endset -%}
       block_assignment={{ block_assignment }},assignment={{ assignment }}
    ''').render())

# Assignment outisde a block and use inside a block work as I would expect
print(env.from_string(
    '''2: {% set assignment="ASSIGN" %}{% set block_assignment %}BLOCK{% endset -%}
       {% block a %}block_assignment={{ block_assignment }},assignment={{ assignment }}{% endblock %}
    ''').render())

# Assingment inside a block and use inside another block, assignments have gone
# out of scope which makes sense
print(env.from_string(
    '''3: {% block a %}{% set assignment="ASSIGN" %}{% set block_assignment %}BLOCK{% endset %}{% endblock -%}
       {% block b %}block_assignment={{ block_assignment }},assignment={{ assignment }}{% endblock %}
    ''').render())

and outputs the following:
1: block_assignment=BLOCK,assignment=ASSIGN

2: block_assignment=BLOCK,assignment=ASSIGN

3: block_assignment=,assignment=

Template inheritance
When using template inheritance however, things change:
from jinja2 import Environment
from jinja2 import DictLoader
loader = DictLoader({
    'base': '{% block content %}{% endblock %}',
    'main': '''{% extends "base" -%}
               {% set assignment="ASSIGN" %}{% set block_assignment %}BLOCK{% endset -%}
               {% block content %}block_assignment={{ block_assignment }},assignment={{ assignment }}{% endblock %}'})
            '''})
env = Environment(loader=loader)
print(env.get_template('main').render())

which produces:
block_assignment=,assignment=ASSIGN

which I would expect to produce the same output as case 2 above.

It works when block assignment is set before extends tag.
from jinja2 import Environment
from jinja2 import DictLoader

loader = DictLoader({
    'base': '{% block content %}{% endblock %}',
    'main': '''
        {% set assignment="ASSIGN" %}{% set block_assignment %}BLOCK{% endset -%}
        {% extends "base" -%}
        {% block content %}block_assignment={{ block_assignment }},assignment={{ assignment }}{% endblock %}'})
    '''
})
env = Environment(loader=loader)
print(env.get_template('main').render())

Output:
block_assignment=BLOCK,assignment=ASSIGN

Of course it's not a solution for that issue. The extends tag should be the first tag in the template so this is only an example or quick workaround if someone needs that.

#596

authors: Garito ThiefMaster clj davidism eshlox


text:
urlize filter ignores ftp:// URLs

Documentation states:
 urlize(value, trim_url_limit=None, nofollow=False, target=None)

    Converts URLs in plain text into clickable links.

Therefore I expect that anything that looks like URL gets converted to <a href=...> tag. Unfortunately now urlize picks only http and https URLs.
Something has to be changed. Either urlize behaviour or documentation to cleary describe urlize limitations.

https://github.com/mitsuhiko/jinja2/blob/b78f2617b04cc549ed5fea4eca944c4d8054d187/jinja2/utils.py#L187
Comment: The documentation in the code seems to differ from the documentation on the website.
Would changing the urlize behavior to accept valid urls be something people are interested in?

authors: Self-Perfection Skuzzzy


text:
Nothing prevents concurrent writes (or concurrent reads)

I may be misunderstanding the code, but given the send() methods aren't taking &mut self, it seems like nothing prevents concurrent or interleaved writing, which can result in corrupted messages.
(I was seeing symptoms of this, wrapped Sender with tokio Mutex and I think it fixed it. But, you know, race conditions, could be unrelated.)

That's correct. I'm not sure if this library should try to do something about this, or if that's up to the user.

I can imagine people wanting their own locking patterns; maybe you want a lock per Sender, or maybe you are parent process writing to all client processes each time, one of my use cases, and so you want a single lock for multiple Senders.
But the current interface is misleading, and can lead to silent data corruption that idiomatically would've been prevented via the type system. So I would suggest Sender::sender() and recv() be changed to accept &mut self, to match the standard Rust pattern (e.g. Read and Write traits).

I really don't like the idea of forcing the this to use &mut self as it makes the type much more frustrating to work with in some common patterns.

@cgwalters what do you think?

Well I got nerd sniped into this https://github.com/mitsuhiko/tokio-unix-ipc/pull/17

authors: cgwalters itamarst mitsuhiko

repo: mitsuhiko/tokio-unix-ipc


text:
the mathematical algorithm?

First thanks very much for making it open sourced and thanks very much for the great work! I am an assisstant researcher from Chinese Academy of Sciences doing urban ecology. So your work is very interesting to me.
I want to ask if there is some material that i can learn the method to calculated GVI? It is very difficult to infer the algorithm from the code!
Thanks!

Hi,
You can find the associated paper
Best


text:
Copy button at the top right of each component code

Add a Copy button at the top right of the TextField to copy the whole code

I find this rather inconvenient, as you don't want to copy the entire code (which is what a button would indicate), but only the component area as the imports are unnecessary here.

Then I would suggest that the Copy button only copies the component and ignores the imports. Would be very helpful in any case

Personally, I would manage the import and the component separately. This means one field with a copy button for the imports and another field for the component with a copy button.
As in this example:

authors: JLampeMW maaaathis

repo: mittwald/flow


text:
Cool downs

Whilst working on a little something, i noticed that a button set to a minute long cool down, was still at a minute long after being triggered. I set out to investigate further and noticed that all my buttons were getting an extra 25 seconds for no reason. I checked my code and my seconds to milliseconds converter to make sure i hadn't thrown something in during my sleep deprived code session the night before, but to my surprise i couldn't find anything wrong. Thought i would put this out there, I'm not sure if its just me or something bigger.

Very interesting and thank you for reporting this issue! We will investigate it.

void Update(){
        if (MixerInteractive.GetButtonDown("AltT"))
        {
            UnityEngine.Debug.Log("alttab");
            if (AltTa != 0)
            {
                MixerInteractive.TriggerCooldown("AltT", AltTa);
            }
      }
}

Seconds to milliseconds converter
    public void AltTabInput(string str)
    {
        AltTa = int.Parse(str) * 1000;
    }

I have only attached one of each section because the code itself is repetitive for each button. (im lazy, i just copied and pasted my work over again and again so its all the same)

Thank you for sending the code. The code looks right. For this line, if you debug, is AltTa == 60000?:
MixerInteractive.TriggerCooldown("AltT", AltTa);

AltTa is 60000 when i debug

That is really strange. Is anything else setting the cooldown? That's the only thing I can think of. When your code sets the cooldown to 60000 the button will start counting down from 59, 58, etc. Are you seeing it set to 1 min 25 sec instead?

The section i posted is the only part handling cool downs, i even took the time to go up in increments of 5 seconds to double check, and every time i get the additional 25 seconds on my page when my project says the set time hasn't changed and the debug of all the variables handling the time say there is no change as well

Does the example scene have the same behavior (I'm wondering if perhaps there's a difference with your project). The example scene that does cooldowns is under Assets/MixerInteractive/Examples/Throttling input, disabling and setting cooldowns/
You can also share the project (or a minimal repro) and we can take a look.

I'm getting an issue where my first cooldown will trigger normally, 10 seconds when set at 10000, but any subsequent button presses will display a 7 second cooldown. Also, when I try to output the remaining cooldown time on a button during it's cooldown period, I get an outrageous number which counts down.
There is also some lag between when the cooldown disappears and when I can press the button again, it's typically around an additional 5 seconds.

`public int cooldownTimeMS = 10000;
void Start () {
audioSource = GetComponent();
    MixerInteractive.OnParticipantStateChanged += OnParticipantStateChanged;
    MixerInteractive.OnInteractiveButtonEvent += OnInteractiveButtonEvent;

    MixerInteractive.GoInteractive();
}

private void OnInteractiveButtonEvent(object sender, InteractiveButtonEventArgs e)
{
string userDirectory = profilesDirectory + e.Participant.UserName;      //references user profile directory path
string userButtons = userDirectory + "/ButtonsPressed.txt";             //references user button data path
string userSparks = userDirectory + "/SparksSpent.txt";                 //references user sparks data path
    e.CaptureTransaction();     //capture the spark transaction to remove approriate amount of sparks.
    MixerInteractive.TriggerCooldown(e.ControlID, cooldownTimeMS);  //trigger the cooldown of the button being pressed (individual button)

    //LeaderboardSort.GetComponent<LeaderboardSort>().UserLoop();

    if (MixerInteractive.GetButtonDown(e.ControlID))        //Any button with a controlID was pressed down
    {
        Debug.Log(e.Participant.UserName + " pressed down the button: " + e.ControlID + " for " + e.Cost.ToString() + " sparks.");

        if (File.Exists(userButtons))       //make sure the ButtonsPressed.txt exists
        {
            ParseFile(userButtons);         //grab total button presses from data file, assign to buttonsPressedCount
            buttonsPressedCount++;          //increment buttonsPressedCount

            using (StreamWriter buttonText = File.CreateText(userButtons))
            {
                buttonText.WriteLine(buttonsPressedCount);      //overwrite buttons pressed data with updated button presses
            }

            Debug.Log(e.Participant.UserName + "'s ButtonsPressed data file was updated.");
        }

        if (e.Cost > 0)     //The button costs sparks to press
        {
            Debug.Log("The button costs " + e.Cost + " sparks to press.");

            if (File.Exists(userSparks))       //make sure the SparksSpent.txt exists
            {
                ParseSparksFile(userSparks);   //grab total sparks spent from data file, assign to sparksSpentCount
                sparksSpentCount += (int)e.Cost;            //increment sparksSpentCount

                using (StreamWriter sparkText = File.CreateText(userSparks))
                {
                    sparkText.WriteLine(sparksSpentCount);      //overwrite sparks spent data with updated sparks spent
                }
            }
        }
    }
}`

That should be everything you need to reproduce the issue. If you need more, please let me know.

Thank you! We'll look at it.

Ignore, the commit message. This issue is still open.

I still can't reproduce it on my end. I see my button have a cooldown of 10s which is expected. @PetePinelli and @hoggy077. I know this might sound crazy, but what might be happening is a bug that depends where in the world you are located. @PetePinelli are you also seeing 25 seconds extra? I want to know because if it's a different number then that would confirm my theory.

@payzer I'm going to download the new release and start a new build of my project, I'll let you know if I'm still having issues. In its current state, my cooldowns do not even want to fire. When an interactive button is pressed it was giving me a debug log code with an error about not having an eTag.

@PetePinelli sorry, the eTag issue is a recent service deployment we did (we removed eTags which was an internal detail). The latest SDK has a fix for it.

So I'm still getting the issue where the first button press is the normal 10 second cooldown while the subsequent presses are 8 seconds of shown cooldown with an additional period of time after the cooldown expires that the button is still unclickable.
I decided to see if I was getting the same issue on mobile, and the strangest thing happened.  When I pressed the button on the PC, the cooldown on PC said 8 seconds, where the phone displayed a 15 second cooldown.  I could still press the button on the PC with time remaining on the cooldown being shown on the phone. Pressing the buttons on the phone would cause the 15 second cooldown to appear on the phone but an 8 second cooldown to be displayed on the PC.
I'm really at a loss here.. This is the only script running outside of the mixer package prefab in my scene in a new project in Unity...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Microsoft.Mixer;

public class CooldownTest : MonoBehaviour {

	// Use this for initialization
	void Start () {

        MixerInteractive.OnInteractiveButtonEvent += OnInteractiveButtonEvent;

        MixerInteractive.GoInteractive();
	}

    public void OnInteractiveButtonEvent(object sender, InteractiveButtonEventArgs e)
    {
        e.CaptureTransaction();
        MixerInteractive.TriggerCooldown(e.ControlID, 10000);
    }

	// Update is called once per frame
	void Update () {

	}
}

I didn't try twice. Thank you for pointing that out. I'll go try that.
Regarding the mobile issue, I'll let our mobile team know and see if they have any insight into what is going on there. Thank you for bringing that up!

I'm seeing 10 seconds (I triggered it 4 times) on desktop. I tried on mobile and also got 10 seconds consistently. I also have a blank Unity project.
This is very, very, strange. The only thing I can possibly think of is somehow there's network latency involved? I'll try to find someone on the team who is outside Redmond and see if they can repro.

We think we know what is going on here. We'll work on a fix.

Good news! I'll stay posted (:

I want to set expectations, the fix may be a little while.

Just thought it was time to at least close this issue, considering I haven't encountered the issue, and no one has commented about the issue since August 8th, last year.

authors: PetePinelli hoggy077 payzer

repo: mixer/interactive-unity-plugin


text:
Develop

Birds feature

initial birds feature completed


text:
Context WeakReference

Shouldn't context be stored as WeakReference in this Map?

Hi @mbmc ! Thanks for reaching out and improving the SDK! Notice that mContext is an Application context and not an Activity context (https://github.com/mixpanel/mixpanel-android/blob/master/src/main/java/com/mixpanel/android/mpmetrics/MixpanelAPI.java#L300). For that reason I don't think it needs to be a WeakReference. What do you think? Would love to hear your thoughts. Thanks again!

Closing. Feel free to open it again.

Correct, the applicationContext will go away with the app.

authors: mbmc patedit

repo: mixpanel/mixpanel-android


text:
Code style / Linter

Looks like a lot of this is using 4 spaces and under_score naming (even for helper functions, not exposed/exported). Most wrappers follow the conventions of the language, not API. Does Mixpanel have a strict style guide that they follow for JS, or would you guys be interested in PRs to make the styling a bit more conventional and cleaner (imo/subjective)?
If there's a strict style guide, I would highly recommend a linter, which I can also PR in using (probably) ESLint to fit the existing codebase.

We'd be happy to add a linter step, but aren't planning on changing the style (especially not while breaking backwards-compatibility in the API). Although 2-space-indent+camelCase is a common JS convention - and if Mixpanel were restarting this project today it's what we'd use - it's by no means universal or spec'ed, and 4-space+under_score matches our browser lib (https://github.com/mixpanel/mixpanel-js).

Fair; spaces changes wouldn't break backwards compatibility for sure :) but camelCase would indeed.
If I cleaned some stuff up in a PR, would 2 spaces and other conventions be accepted, or should I stick to 4 spaces? No API breaking changes- that I understand.

Well, we don't want to use inconsistent spacing, so it would have to be a global change. I honestly don't think the subjective benefits of using 2 spaces instead of 4 would make up for the hit to the repo history (e.g., more or less resetting git blame).

Fair enough

authors: tdumitrescu tejasmanohar

repo: mixpanel/mixpanel-node

license: mit


text:
Long url breaks layout in Outlook

Describe the bug
Hi, is there any fix for long URL (of password recovery) that is generated and that breaks completely layout in MS Outlook.
** How the code looks now**

{{password_reset_url}}

MJML environment (please complete the following information):

OS Big Sur
MJML Version 3.0.1
MJML tool used 4.6.2

Email sending environment(for rendering issues):

Platform used to send the email is Sendgrid

Affected email clients (for rendering issues):
MS Outlook
Screenshots

Please help, thank you

Did you tried to use word-break:break-all; on this ?

Yeah, I did, doesn't work.  {{password_reset_url}} I use this construction, but the result for Outlook is the same.

Not so much we can do then if it's not supported. What version of Outlook you're trying to target ?

Microsoft® Outlook® for Microsoft 365 MSO (16.0.14026.20202) 64-bit

I solved a similar issue by adding a css-class that sets some text properties and, more importantly, sets an explicit width.
<mj-style inline="inline">
      .wrapped-link > div, a {
      white-space: pre-wrap;
      white-space: -moz-pre-wrap;
      white-space: -pre-wrap;
      white-space: -o-pre-wrap;
      word-wrap: break-word;
      word-break: break-all;
      width: 450px;
      }
</mj-style>

Not so much we can do about this one if outlook 365 doesn't support word-break.

authors: iRyusa philip-smr probablyabear

repo: mjmlio/mjml


text:
mj-social-element contains icons from mailjet.com that no longer exist

Describe the bug
<mj-social-element /> includes broken images from mailjet.com
To Reproduce
Just use the example from the docs:
<mj-social>
   <mj-social-element name="facebook">Share</mj-social-element>
</mj-social>

renders
[...]
<img height="20" src="https://www.mailjet.com/images/theme/v1/icons/ico-social/facebook.png" style="border-radius:3px;display:block;" width="20">
[...]

And https://www.mailjet.com/images/theme/v1/icons/ico-social/facebook.png does not exists => 404
try online
Expected behavior
Should use icons that exists.
MJML environment (please complete the following information):

OS: MacOS
MJML Version 4.13.0

same here.

This is fixed 👍

authors: TingWeiKe iRyusa stefanisak


text:
🛑 FarmPi Mirror is down

In 2b9e976, FarmPi Mirror (https://farmpi.octofarm.net/) was down:

HTTP code: 429
Response time: 446 ms

Resolved: FarmPi Mirror is back up in d1b423e after 13 minutes.


text:
Test issue1

Waterline version:
Node version:
NPM version:
Operating system:

Comment issue 1

Comment issue 2


text:
Unwanted transparant .splats

Hi, i'm wondering why I can look through my splats. It has happened before but not this badly.
Does anyone know why this happends and how to make the splat 100% opacity/opague.
We really don't want to look through the leaves, and during .splat creation or viewing with other .splat viewers this doesnt happen....

Here is the model that has the unwanted GHOST effect: https://staging.green-view.nl/s/Caladium-2-Qdz8

You can tweak the opacity in the fragment shader (SplatMaterial3D.js)
float opacity = exp(-0.5 * A) * vColor.a;
gl_FragColor = vec4(color.rgb, opacity *** 2.5**);

Tested with your splat. Factor 2.5 gives similar results as default SuperSplat.


text:
Filepicker doesnt pass empty value when cleared

When I clear the file picker and submit the form request, the filepicker selected value is still passed though.
This means that when I clear the filepicker and save, it doesn't clear the file dir from the database

@HarriFent Will fix and push an update soon.

I have created a pull request with a proposed fix

authors: HarriFent mkocansey

repo: mkocansey/bladewind


text:
Overflow option is wrong

Need a way to control x and y overflow

fixed in 2.1.1

repo: mkoryak/floatThead


text:
0.12.2 release was not completed

👋 it looks like 0.12.2 release was not completed, ie the github release did not get created as 0.12.0, raise this issue for some awareness. Thanks! 🙏
relates to https://github.com/Homebrew/homebrew-core/pull/170675

Sorry, not following, did the brew release not complete because 0.12.2 is a "pre-release"?

@awni some tag issue

Also looks like 0.12.1 tag is gone, any thoughts?

Hmm, the 0.12.1 tag is still there https://github.com/ml-explore/mlx/releases/tag/v0.12.1
I'm still not really following the problem. Anything we can do on our side to fix?

oh, just need to mark 0.12.2 release as latest release? (oh, can you point me to the doc about the pre-release -> latest release process)? Thanks!

oh, just need to mark 0.12.2 release as latest release?

How does the brew update work? If we do a new tag on MLX github does it try to do an auto release?

(oh, can you point me to the doc about the pre-release -> latest release process)?

There is no doc on that :(

we track the latest release and autobump it as batch processing.

yeah, for now, I probably just need a latest tag (if I do a livecheck update, it would ask me to downgrade to 0.12.0)
left a comment about that too, https://github.com/Homebrew/homebrew-core/pull/170675#issuecomment-2095018955

Ok I set 0.12.2 as the latest release. Let me know if that doesn't unblock the brew build and I will reopen this!

repo: ml-explore/mlx


text:
Fused attention for single query

This is a first implementation of a fused attention kernel for the single query use case (ie autoregressive generation). Hopefully we can squeeze more performance with a few optimization passes while obfuscating the admittedly simple kernel in sdpa_vector.h.
I am getting more numbers to add here but an initial table is the following

Model
Tokens
Before
Now

Ministral-8B-4bit
9 to 685
98.387
104.674

Llama-3-8B-4bit
16 to 877
102.402
108.288

Mistral-7B-4bit
12 to 803
105.953
112.404

Qwen2.5-72B-4bit
35 to 738
14.625
15.045

Llama-3.2-3B-4bit
42 to 697
170.478
186.024

Phi-3.5-mini-4bit
10 to 1024
150.413
166.008

Some more measurements with longer sequences

Model
Tokens
Before
Now

Ministral-8B-4bit
1406 to 1675
88.046
95.430

Llama-3-8B-4bit
1393 to 1618
93.177
100.246

Mistral-7B-4bit
1550 to 1949
94.127
102.178

Qwen2.5-72B-4bit
1437 to 1837
13.381
14.201

Llama-3.2-3B-4bit
1419 to 1849
149.720
163.576

Phi-3.5-mini-4bit
1607 to 2052
127.681
143.135

And finally for much longer context

Model
Tokens
Before
Now

Ministral-8B-4bit
6994 to 7548
59.511
66.587

Llama-3-8B-4bit
6905 to 7279
64.195
71.404

Mistral-7B-4bit
7706 to 7984
63.146
70.358

Qwen2.5-72B-4bit
7049 to 7570
11.008
12.653

Llama-3.2-3B-4bit
6931 to 7232
96.766
105.298

Phi-3.5-mini-4bit
8003 to 8326
74.991
86.175


text:
mx.diag implementation

Proposed changes
closes #503
Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING document
[x] I have run pre-commit run --all-files to format my code / installed pre-commit prior to committing changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have updated the necessary documentation (if needed)

@awni i need your help for extracting the diagonal from 2d array. i wasn't sure about how we can extract diagonal without indexing the input 2d array and i couldn't find the syntax to index an mlx array.
I'll also add the tests for mx.diag in the next few days.

The op you are looking for is gather.
Although I'm uncertain about this PR vs #526 ? It seems like this implementation is closer to how we should do it (via an op not a primitive). Should we close #526? @PRESIDENT810 could you comment?
One thing that would be nice with this one is to do diagonal (e.g. following NumPy) and then you can simply have diag call diagonal. Does that make sense?

@awni I think only using a op instead of a primitive is better so free to close my PR.
And @ManishAradwad feel free to reference anything that helps. I think apart from the primitive thing other parts should be working fine.

Thanks, sounds like a great plan!

Also @ManishAradwad if you are uncertain about how to use gather to extract the diagonal array, I took some time to read JAX's implementation which I think might be helpful
def diagonal(a: ArrayLike, offset: int = 0, axis1: int = 0,
             axis2: int = 1) -> Array:
  util.check_arraylike("diagonal", a)
  a_shape = shape(a)
  if ndim(a) < 2:
    raise ValueError("diagonal requires an array of at least two dimensions.")
  offset = core.concrete_or_error(operator.index, offset, "'offset' argument of jnp.diagonal()")

  a = moveaxis(a, (axis1, axis2), (-2, -1))

  diag_size = max(0, min(a_shape[axis1] + min(offset, 0),
                         a_shape[axis2] - max(offset, 0)))
  i = arange(diag_size)
  j = arange(abs(offset), abs(offset) + diag_size)
  return a[..., i, j] if offset >= 0 else a[..., j, i]

So I think one way to do this is:

Move axis1 and axis2 so they become the last two axes of the input array
Compute what should be the diagonal size of that two axes
Construct the indices of elements you want to extract for the two diagonal axes
Use gather is to extract all elements for the first n-2 dims, and extract elements using the indices you construct in step 3 to get the diagonal elements.

Feel free to ping me if you need any help.

Thanks a lot for your instructions @PRESIDENT810. I'm still stuck at using gather to extract the diagonal elements(step 4 above). I tried implementing it but was not able to get the right elements.
I didn't understand why we need to extract all elements for the first n-2 dims. Also, I think I'm messing the slice_sizes argument of gather. Is it fixed as diag_size or there is more to it?

@ManishAradwad
According to numpy's doc:

If a has more than two dimensions, then the axes specified by axis1 and axis2 are used to determine the 2-D sub-array whose diagonal is returned. The shape of the resulting array can be determined by removing axis1 and axis2 and appending an index to the right equal to the size of the resulting diagonals.
So if a has n dims with shape (d1, d2 ... dn) and selected axis x, y, we need to keep the unselected n-2 dims and extract the diagonal matrix of the 2D subarray, whose two axes should be axis1 and axis2. The result should be of shape (d1, d2 ... dn, diag_size), with dx and dy taken out from d1, d2 ... dn.

For example, if you run np.arange(12).reshape(3, 2, 2).diagonal(0, 1, 2), the result should be
array([[ 0,  3],
       [ 4,  7],
       [ 8, 11]])

with shape (3, 2,). This is because 3 is the unselected dim and 2 is the diag_size. For each 2*2 subarray you need to take the element corresponding to the first dimension (which is 3).
As for gather, I'm not really sure how to use it either. Let me take some time to look at it.

I got it working for 2-d arrays. But still, not getting the correct results for higher dimensional arrays. will keep working on it.

I'm sorry our C++ gather is undocumented.
The arguments to pay attention to are indices, axes and slice_sizes:

Indices: the indices you want to extract. This would be e.g. arange(shape(axis1)) and arange(shape(axis2))
Axes: the axes corresponding to the indices {axis1, axis2}
Slice sizes: the size of each slice. It should be a 1 in the dim corresponding to axis1 and axis2 and the full shape everywhere else.

I have updated the code according to the above description. The dimensions returned for higher dimensional inputs are correct, but the diagonal values extracted are still incorrect.
@awni @PRESIDENT810 Please check if I'm populating the input arrays to gather properly.
Also, if the diagonal to be returned contains only one value like [1] then it returns a scalar value(just 1) since I'm squeezing the results array. I have added the code to handle that case, but now it returns a 2d array like [[1]]. How can i fix this?

@ManishAradwad

Also, if the diagonal to be returned contains only one value like [1] then it returns a scalar value(just 1) since I'm squeezing the results array. I have added the code to handle that case, but now it returns a 2d array like [[1]]. How can i fix this?
My guess is you can just use reshape to make it the right shape.

Hummm I don't quite understand how to use gather either.
To get a[..., indices1, indices2] I'm using
x = array({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, {3, 2, 2});
auto indices0 = array({0});
auto indices1 = arange(2);
auto indices2 = arange(2);
auto out = gather(x, {indices0, indices1, indices2}, {0, 1, 2}, {3, 1, 1});
out = reshape(out, {3, 2});

But the outcome is
array([[0, 4],
           [8, 3],
           [7, 11]], dtype=int32)

where as the correct result of a[..., indices1, indices2] should be
array([[0, 3],
           [4, 7],
           [8, 11]], dtype=int32)

I find the output's dimensions are confusing. @awni could you please throw some light on this?
Also I hope we can have a gather_nd C++ operator API just like mlx_gather_nd in Python binding, which would make things easier here.

Ah I've got it! Looks like gather behaves differently than I thought and I need to do a moveaxis to make it work.
I've successfully implemented it in #562, which supports higher dimensional array and passes all tests. @ManishAradwad @awni Mind if take a look? I think that one should be working!

Great @PRESIDENT810 ! I will modify this PR to use the diagonal implemented by you in the diag function. Or maybe you can include diag in your PR. Any way is fine by me. @awni , do we need a separate PR for diag?

@ManishAradwad You can push your diag implementation to my feat_diagonal branch so they will be included in the same PR. I just invited you to collaborate in my mlx fork repo.

Sure, I'll push to your branch.

Also I think apart from diagonal tests we still need a few separate tests for diag. You can add that to ops_test.cpp or I can handle it after you pushed your implementation.

Yeah, I'll also add the tests for diag on the same branch

Nice to see the collaboration and progress on this! I assume we will close this PR in favor of #562?

Yup, I'll close it.

authors: ManishAradwad PRESIDENT810 awni


text:
[Bug] Compiling Llama 2 with WebGPU q4f32_0 I get assert not (is_reduction ^ is_inner_reduction)

🐛 Bug
When compiling with python3 -m mlc_llm.build --hf-path meta-llama/Llama-2-7b-chat-hf --target webgpu --quantization q4f32_0 I get assert not (is_reduction ^ is_inner_reduction).
To Reproduce
Steps to reproduce the behavior:

First I have to modify fuse_split_rotary_embedding.py as specified here: https://github.com/mlc-ai/mlc-llm/issues/816#issuecomment-1694558023 - I just replace all instances of float16 with float32 in fuse_split_rotary_embedding.py.

I then try to compile llama2:

(mlc-llm) ~/repo/mlc-llm python3 -m mlc_llm.build --hf-path meta-llama/Llama-2-7b-chat-hf --target webgpu --quantization q4f32_0
Weights exist at dist/models/Llama-2-7b-chat-hf, skipping download.
Using path "dist/models/Llama-2-7b-chat-hf" for model "Llama-2-7b-chat-hf"
Target configured: webgpu -keys=webgpu,gpu -max_num_threads=256
Load cached module from dist/Llama-2-7b-chat-hf-q4f32_0/mod_cache_before_build.pkl and skip tracing. You can use --use-cache=0 to retrace
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/parismorgan/repo/mlc-llm/mlc_llm/build.py", line 13, in <module>
    main()
  File "/Users/parismorgan/repo/mlc-llm/mlc_llm/build.py", line 10, in main
    core.build_model_from_args(parsed_args)
  File "/Users/parismorgan/repo/mlc-llm/mlc_llm/core.py", line 596, in build_model_from_args
    build(mod, args)
  File "/Users/parismorgan/repo/mlc-llm/mlc_llm/core.py", line 496, in build
    mod_deploy = dl.ApplyDefaultSchedule(  # pylint: disable=not-callable
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/ir/transform.py", line 238, in __call__
    return _ffi_transform_api.RunPass(self, mod)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "tvm/_ffi/_cython/./packed_func.pxi", line 331, in tvm._ffi._cy3.core.PackedFuncBase.__call__
  File "tvm/_ffi/_cython/./packed_func.pxi", line 262, in tvm._ffi._cy3.core.FuncCall
  File "tvm/_ffi/_cython/./packed_func.pxi", line 251, in tvm._ffi._cy3.core.FuncCall3
  File "tvm/_ffi/_cython/./base.pxi", line 181, in tvm._ffi._cy3.core.CHECK_CALL
tvm._ffi.base.TVMError: Traceback (most recent call last):
  File "tvm/_ffi/_cython/./packed_func.pxi", line 56, in tvm._ffi._cy3.core.tvm_callback
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/ir/transform.py", line 307, in _pass_func
    return inst.transform_module(mod, ctx)
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/dlight/base/transform.py", line 64, in transform_module
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    sch = _apply_rules(func, target, self.rules, tunable=False)
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/dlight/base/transform.py", line 80, in _apply_rules
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    space = rule.apply(func, target, tunable)
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/dlight/gpu/gemv.py", line 185, in apply
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    is_inner_reduction = normalize(sch, block_info)
  File "/Users/parismorgan/virtualenvs/mlc-llm/lib/python3.11/site-packages/tvm/dlight/gpu/gemv.py", line 129, in normalize
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
    assert not (is_reduction ^ is_inner_reduction)
TVMError: AssertionError

Expected behavior
I can compile and then run.
Environment

Platform (e.g. WebGPU/Vulkan/IOS/Android/CUDA): WebGPU
Operating system (e.g. Ubuntu/Windows/MacOS/...): MacOS
Device (e.g. iPhone 12 Pro, PC+RTX 3090, ...): Chrome Browser
How you installed MLC-LLM (conda, source): source
How you installed TVM-Unity (pip, source): pip
Python version (e.g. 3.10): 3.11.5
GPU driver version (if applicable):
CUDA/cuDNN version (if applicable):
TVM Unity Hash Tag (python -c "import tvm; print('\n'.join(f'{k}: {v}' for k, v in tvm.support.libinfo().items()))", applicable if you compile models):
USE_GTEST: AUTO
SUMMARIZE: OFF
USE_IOS_RPC: OFF
USE_ETHOSU:
CUDA_VERSION: NOT-FOUND
USE_LIBBACKTRACE: AUTO
DLPACK_PATH: 3rdparty/dlpack/include
USE_TENSORRT_CODEGEN: OFF
USE_THRUST: OFF
USE_TARGET_ONNX: OFF
USE_AOT_EXECUTOR: ON
BUILD_DUMMY_LIBTVM: OFF
USE_CUDNN: OFF
USE_TENSORRT_RUNTIME: OFF
USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR: OFF
USE_CCACHE: AUTO
USE_ARM_COMPUTE_LIB: OFF
USE_CPP_RTVM:
USE_OPENCL_GTEST: /path/to/opencl/gtest
USE_MKL: OFF
USE_PT_TVMDSOOP: OFF
USE_CLML: OFF
USE_STACKVM_RUNTIME: OFF
USE_GRAPH_EXECUTOR_CUDA_GRAPH: OFF
ROCM_PATH: /opt/rocm
USE_DNNL: OFF
USE_VITIS_AI: OFF
USE_LLVM: llvm-config --link-static
USE_VERILATOR: OFF
USE_TF_TVMDSOOP: OFF
USE_THREADS: ON
USE_MSVC_MT: OFF
BACKTRACE_ON_SEGFAULT: OFF
USE_GRAPH_EXECUTOR: ON
USE_ROCBLAS: OFF
GIT_COMMIT_HASH: 2b204c39b53912814edc3f07e88919a5c76d00cf
USE_VULKAN: OFF
USE_RUST_EXT: OFF
USE_CUTLASS: OFF
USE_CPP_RPC: OFF
USE_HEXAGON: OFF
USE_CUSTOM_LOGGING: OFF
USE_UMA: OFF
USE_FALLBACK_STL_MAP: OFF
USE_SORT: ON
USE_RTTI: ON
GIT_COMMIT_TIME: 2023-08-08 17:21:25 -0400
USE_HEXAGON_SDK: /path/to/sdk
USE_BLAS: none
USE_ETHOSN: OFF
USE_LIBTORCH: OFF
USE_RANDOM: ON
USE_CUDA: OFF
USE_COREML: OFF
USE_AMX: OFF
BUILD_STATIC_RUNTIME: OFF
USE_CMSISNN: OFF
USE_KHRONOS_SPIRV: OFF
USE_CLML_GRAPH_EXECUTOR: OFF
USE_TFLITE: OFF
USE_HEXAGON_GTEST: /path/to/hexagon/gtest
PICOJSON_PATH: 3rdparty/picojson
USE_OPENCL_ENABLE_HOST_PTR: OFF
INSTALL_DEV: OFF
USE_PROFILER: ON
USE_NNPACK: OFF
LLVM_VERSION: 15.0.7
USE_OPENCL: OFF
COMPILER_RT_PATH: 3rdparty/compiler-rt
RANG_PATH: 3rdparty/rang/include
USE_SPIRV_KHR_INTEGER_DOT_PRODUCT: OFF
USE_OPENMP: OFF
USE_BNNS: OFF
USE_CUBLAS: OFF
USE_METAL: ON
USE_MICRO_STANDALONE_RUNTIME: OFF
USE_HEXAGON_EXTERNAL_LIBS: OFF
USE_ALTERNATIVE_LINKER: AUTO
USE_BYODT_POSIT: OFF
USE_HEXAGON_RPC: OFF
USE_MICRO: OFF
DMLC_PATH: 3rdparty/dmlc-core/include
INDEX_DEFAULT_I64: ON
USE_RELAY_DEBUG: OFF
USE_RPC: ON
USE_TENSORFLOW_PATH: none
TVM_CLML_VERSION:
USE_MIOPEN: OFF
USE_ROCM: OFF
USE_PAPI: OFF
USE_CURAND: OFF
TVM_CXX_COMPILER_PATH: /Library/Developer/CommandLineTools/usr/bin/c++
HIDE_PRIVATE_SYMBOLS: ON

Additional context
Thank you!

Could you try update the mlc-ai pip package? Right now the assertion should have been fixed. https://github.com/mlc-ai/relax/blob/mlc/python/tvm/dlight/gpu/gemv.py#L129-L130 So I suppose that updating the pip package can resolve this issue.

First I have to modify fuse_split_rotary_embedding.py as specified here: https://github.com/mlc-ai/mlc-llm/issues/816#issuecomment-1694558023 - I just replace all instances of float16 with float32 in fuse_split_rotary_embedding.py.

We will also fix this.

Thank you! I had:
(mlc-llm) ~/repo/mlc-llm pip freeze > requirements.txt

annotated-types==0.5.0
anyio==4.0.0rc1
attrs==23.1.0
click==8.1.6
cloudpickle==2.2.1
decorator==5.1.1
fastapi==0.101.0
filelock==3.12.2
h11==0.14.0
idna==3.4
iniconfig==2.0.0
Jinja2==3.1.2
MarkupSafe==2.1.3
ml-dtypes==0.2.0
mlc-ai-nightly==0.12.dev1395
mlc-chat-nightly==0.1.dev347
mpmath==1.3.0
networkx==3.1
numpy==1.25.2
packaging==23.1
pluggy==1.2.0
psutil==5.9.5
pydantic==2.1.1
pydantic_core==2.4.0
pytest==7.4.0
scipy==1.11.1
shortuuid==1.0.11
sniffio==1.3.0
starlette==0.27.0
sympy==1.12
torch==2.0.1
tornado==6.3.2
typing_extensions==4.7.1
uvicorn==0.23.2

Then I upgraded:
pip install --pre --force-reinstall mlc-ai-nightly mlc-chat-nightly -f https://mlc.ai/wheels

annotated-types==0.5.0
anyio==4.0.0rc1
attrs==23.1.0
click==8.1.7
cloudpickle==2.2.1
decorator==5.1.1
fastapi==0.103.0
filelock==3.12.2
h11==0.14.0
idna==3.4
iniconfig==2.0.0
Jinja2==3.1.2
MarkupSafe==2.1.3
ml-dtypes==0.2.0
mlc-ai-nightly==0.12.dev1398
mlc-chat-nightly==0.1.dev389
mpmath==1.3.0
networkx==3.1
numpy==1.26.0b1
packaging==23.1
pluggy==1.2.0
psutil==5.9.5
pydantic==2.3.0
pydantic_core==2.6.3
pytest==7.4.0
scipy==1.11.2
shortuuid==1.0.11
sniffio==1.3.0
starlette==0.27.0
sympy==1.12
torch==2.0.1
tornado==6.3.3
typing_extensions==4.7.1
uvicorn==0.23.2

And I can build okay:
(mlc-llm) ~/repo/mlc-llm python3 -m mlc_llm.build --hf-path meta-llama/Llama-2-7b-chat-hf --target webgpu --quantization q4f32_0
Weights exist at dist/models/Llama-2-7b-chat-hf, skipping download.
Using path "dist/models/Llama-2-7b-chat-hf" for model "Llama-2-7b-chat-hf"
Target configured: webgpu -keys=webgpu,gpu -max_num_threads=256
Load cached module from dist/Llama-2-7b-chat-hf-q4f32_0/mod_cache_before_build.pkl and skip tracing. You can use --use-cache=0 to retrace
[16:33:47] /Users/catalyst/Workspace/mlc-ai-package-self-runner/_work/package/package/tvm/src/target/llvm/codegen_llvm.cc:185: Warning: Set native vector bits to be 128 for wasm32
Finish exporting to dist/Llama-2-7b-chat-hf-q4f32_0/Llama-2-7b-chat-hf-q4f32_0-webgpu.wasm

I will make sure to look at that repo for fixes before future bug reports, sorry for the spam!

Glad that upgrading works. No worries since it is pretty minor :-)

repo: mlc-ai/mlc-llm


text:
JSON lub csv

Witam,
Czy jest opcja "wyplucia" wyniku do pliku ?
Pozdrawiam

Można to zrobić pośrednio przez przekierowanie w bashu:
elicznik freddy@example.com secretpassword 2022-07-20 > tauron

dzięki !

repo: mlesniew/elicznik


text:
botocore.exceptions.NoCredentialsError: Unable to locate credentials

Hello, I encountered the following problem when processing data. How can I solve it?
botocore.exceptions.NoCredentialsError: Unable to locate credentials
The command I executed was
python3 ray_processing/process.py    --source_ref_paths exp_data/datasets/raw_sources/CC_WET_april_2019.json    --readable_name c4_v4    --output_dir s3://dcnlp-west/cc_wet_2019_april_baselines/c4_v4/    --config_path baselines/baselines_configs/c4.yaml    --source_name cc_april_2019

When I created the credentials file, the content was:
[default]
aws_access_key_id=xxx（my aws_access_key_id）
aws_secret_access_key=xxx（my aws_secret_access_key）
region=us-west-1
format=json
Running the command again I got：
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied

repo: mlfoundations/dclm


text:
[rnn_translator] GNMT example log and minor changes for rnn_translator compliance logging

[rnn_translator] Updated mlperf-compliance lib to version 0.0.9
[rnn_translator] Added INPUT_SHARD tag
[rnn_translator] Added example log

@robieta

Closing. This is an old PR submitted before mlperf v0.5

repo: mlperf/training