HPC Magazine avril 2013 - L'Atelier CUDA - Listing 2.
Exécution de l’analyse en parallèle.
__device__ void traverseRecursive( CollisionList& list, const BVH& bvh, const AABB& queryAABB, int queryObjectIdx, NodePtr node) { // cf. listing 1. } __global__ void findPotentialCollisions( CollisionList list, BVH bvh, AABB* objectAABBs, int numObjects) { int idx = threadIdx.x + blockDim.x * blockIdx.x; if (idx < numObjects) traverseRecursive(bvh, list, objectAABBs[idx], idx, bvh.getRoot()); }