CUDA とその使用方法について誤解していると思われます。特に、CUDA 用語では「プロセス」という用語がない場合に「プロセス」を参照しているためです。
ほとんどの CUDA アプリケーションでは、良好なパフォーマンスを得るために 2 つの重要なことがあります。メモリ アクセスを最適化することと、ワープ内の「アクティブな」CUDA スレッドのそれぞれが、ワープ内の他のアクティブなスレッドと同時に同じ操作を実行するようにすることです。これらはどちらも、アプリケーションにとって重要であるように聞こえます。
メモリ アクセスを最適化するには、グローバル メモリからの読み取りとグローバル メモリへの書き込みが確実に結合されるようにする必要があります。詳細については、CUDA プログラミング ガイドを参照してください。ただし、基本的には、ハーフ ワープ内の隣接するスレッドが、隣接するメモリ位置から読み取りまたは書き込みを行う必要があることを意味します。また、各スレッドは一度に 4、8、または 16 バイトを読み書きする必要があります。
メモリ アクセス パターンがランダムな場合は、テクスチャ メモリの使用を検討する必要があります。ブロック内の他のスレッドによって読み取られたメモリを参照する必要がある場合は、共有メモリを使用する必要があります。
あなたの場合、入力データが何であるかはわかりませんが、少なくとも書き込みが結合されていることを確認する必要があります。読み取りを効率的に行うには、かなりの労力を費やす必要があるでしょう。
2 番目の部分では、各 CUDA スレッドが出力画像の 1 ピクセルを処理することをお勧めします。この戦略では、スレッドごとのデータに応じて実行時間が長くなったり短くなったりするカーネル内のループに注意する必要があります。ワープの各スレッドは、同じ順序で同じ数のステップを実行する必要があります。これに対する唯一の例外は、warp 内の一部のスレッドが操作を実行せず、残りのスレッドが同じ操作を一緒に実行しても、実際のパフォーマンスのペナルティがないことです。
したがって、各スレッドでそのピクセルが特定の三角形の内側にあるかどうかをチェックすることをお勧めします。そうでない場合は、何もしないでください。そうであれば、そのピクセルの出力色を計算する必要があります。
また、基本的な基礎のいくつかをよく理解していないまま深いところに飛び込んでいるように見えるので、CUDA についてもっと読むことを強くお勧めします。