remove clFinish and copyToHost from GPU joint solver, performance is looking better now.

This commit is contained in:
erwin coumans
2013-07-09 11:19:16 -07:00
parent c4375a09e4
commit bd2cd7b2a7
3 changed files with 22 additions and 22 deletions

View File

@@ -351,7 +351,7 @@ void b3GpuBatchingPgsSolver::solveContactConstraint( const b3OpenCLArray<b3Rigi
}
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}
@@ -388,7 +388,7 @@ void b3GpuBatchingPgsSolver::solveContactConstraint( const b3OpenCLArray<b3Rigi
launcher.launch1D( 64*nn/B3_SOLVER_N_BATCHES, 64 );
}
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}
#ifdef DEBUG_ME
@@ -458,7 +458,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
m_data->m_solverGPU->m_contactBuffer2->resize(nContacts);
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
@@ -586,7 +586,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
// {
// b3AlignedObjectArray<unsigned int> histogram;
@@ -604,7 +604,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
launcher.setBuffers( bInfo, sizeof(bInfo)/sizeof(b3BufferInfoCL) );
launcher.setConst( cdata );
launcher.launch1D( nContacts, 64 );
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}
@@ -666,7 +666,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
b3Printf("maxNumBatches = %d\n",maxNumBatches);
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}
}
@@ -691,7 +691,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
contactConstraintOut,
additionalData, nContacts,
(b3SolverBase::ConstraintCfg&) csCfg );
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}
@@ -723,7 +723,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem
m_data->m_solverGPU->solveContactConstraintHost(m_data->m_bodyBufferGPU, m_data->m_inertiaBufferGPU, m_data->m_contactCGPU,0, nContactOut ,maxNumBatches);
}
clFinish(m_data->m_queue);
//clFinish(m_data->m_queue);
}