MCPcopy Create free account
hub / github.com/a2flo/floor / make_callable_kernel_function

Function make_callable_kernel_function

compute/host/host_kernel.cpp:643–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

641}
642
643static kernel_func_wrapper make_callable_kernel_function(const void* kernel_ptr, const vector<const void*>& vptr_args) {
644 switch (vptr_args.size()) {
645 case 0: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 0u> {});
646 case 1: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 1u> {});
647 case 2: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 2u> {});
648 case 3: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 3u> {});
649 case 4: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 4u> {});
650 case 5: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 5u> {});
651 case 6: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 6u> {});
652 case 7: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 7u> {});
653 case 8: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 8u> {});
654 case 9: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 9u> {});
655 case 10: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 10u> {});
656 case 11: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 11u> {});
657 case 12: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 12u> {});
658 case 13: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 13u> {});
659 case 14: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 14u> {});
660 case 15: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 15u> {});
661 case 16: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 16u> {});
662 case 17: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 17u> {});
663 case 18: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 18u> {});
664 case 19: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 19u> {});
665 case 20: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 20u> {});
666 case 21: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 21u> {});
667 case 22: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 22u> {});
668 case 23: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 23u> {});
669 case 24: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 24u> {});
670 case 25: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 25u> {});
671 case 26: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 26u> {});
672 case 27: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 27u> {});
673 case 28: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 28u> {});
674 case 29: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 29u> {});
675 case 30: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 30u> {});
676 case 31: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 31u> {});
677 case 32: return make_kernel_func_wrapper(kernel_ptr, vptr_args, std::make_integer_sequence<int, 32u> {});
678 default:
679 log_error("too many kernel parameters specified (only up to 32 parameters are supported)");
680 return {};
681 }
682}
683
684FLOOR_POP_WARNINGS()
685

Callers 2

executeMethod · 0.85
execute_deviceMethod · 0.85

Calls 2

make_kernel_func_wrapperFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected