We pre-generate NVVM instructions at compile-time, to be used for generating PTX at runtime.
For LibDevice functions like SinCos that return void, and have out parameters, we were generating the wrong NVVM instructions.
We were incorrectly trying to store the result of a void function into a return variable. And for out parameters, treating it like a normal variable, rather than a pointer to a variable.
We pre-generate NVVM instructions at compile-time, to be used for generating PTX at runtime.
For LibDevice functions like
SinCos
that returnvoid
, and haveout
parameters, we were generating the wrong NVVM instructions.We were incorrectly trying to store the result of a
void
function into a return variable. And forout
parameters, treating it like a normal variable, rather than a pointer to a variable.