pytorch/test/cpp_extensions
Sebastian Messmer 55cdd31bd0 Assert that kernels are called with the right signature (#38361)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/38361

Rather than segfaulting, we should show a good error message when in op.call<Return, Args...>(...) the Return type or Args types mismatch the kernel.

This adds an assertion comparing two std::type_index to the call path, but that should be fast. Hashing the function signature is also in the call path and not strictly constexpr, but I checked on godbolt that GCC >=5 and Clang >=3.8 optimize it away and make it constexpr, i.e. it's not part of the assembly.

supersedes D17485438

ghstack-source-id: 106178820

Test Plan: waitforsandcastle

Differential Revision: D21534052

fbshipit-source-id: 6be436a3f20586277a051d764af29e21d5567da0
2020-06-18 14:22:48 -07:00
..
no_python_abi_suffix_test
self_compiler_include_dirs_test allow user passing relative paths in include_dirs within setuptools.setup (#38264) 2020-05-13 20:00:12 -07:00
torch_test_cpp_extension
cpp_c10d_extension.cpp
cpp_c10d_extension.hpp
cpp_frontend_extension.cpp
cuda_extension.cpp
cuda_extension.cu
cuda_extension_kernel.cu
cuda_extension_kernel2.cu
cudnn_extension.cpp
doubler.h
extension.cpp allow user passing relative paths in include_dirs within setuptools.setup (#38264) 2020-05-13 20:00:12 -07:00
jit_extension.cpp
jit_extension2.cpp
msnpu_extension.cpp Assert that kernels are called with the right signature (#38361) 2020-06-18 14:22:48 -07:00
rng_extension.cpp Prerequisites for CSPRNG (#36631) 2020-04-24 12:25:37 -07:00
setup.py allow user passing relative paths in include_dirs within setuptools.setup (#38264) 2020-05-13 20:00:12 -07:00