Looking back, my question might be ill-posed. The functionality I was searching for is viewing and SubArrays. So the answer I was looking for goes something like this:
function gpuf!(
signal1::CuArray,
signal2::CuArray,
start_sample::Integer,
num_samples_left::Integer
)
@views signal1[start_sample:num_samples_left + start_sample - 1] =
signal1[start_sample:num_samples_left + start_sample - 1]
.* signal2[start_sample:num_samples_left + start_sample - 1]
end