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

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.
ghstack-source-id: 106194240

Test Plan: waitforsandcastle

Differential Revision: D22126701

fbshipit-source-id: 6c908a822e295757bcc0014f78f51e6a560f221f
2020-06-18 21:54:05 -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 (#40251) 2020-06-18 21:54:05 -07:00
rng_extension.cpp
setup.py allow user passing relative paths in include_dirs within setuptools.setup (#38264) 2020-05-13 20:00:12 -07:00