first (bugged?) version of gpu implementation, need a specialized kernel and benchmark with cpu impl
naive GPU and naive CPU implementation