ホストでdevice関数を呼んだ後にcudaGetLastErrorを実行しており、そこでエラーが出ます。
device関数を呼ぶ前の処理におけるエラーチェックではエラーは発生していないので、device関数でエラーが起こっているのではないかと考えています。