You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
publixsubfan opened this issue
Jun 4, 2021
· 3 comments
Assignees
Labels
CoreIssues related to Axom's 'core' componentdesignIssues related to design and software engineeringGPUIssues related to GPU developmentPrimalIssues related to Axom's 'primal componentquestionFurther information is requestedReviewed
In #577, it was discovered that using bitwise AND to combine the results of single-dimension checks was considerably faster than using logical AND on the GPU:
bool status = true;
for (int idim = 0; idim < NDIMS; idim++)
{
// generates predicated branches: slower on GPU, faster on CPU
status = status && detail::intersect(...);
// faster on GPU
status = status & detail::intersect(...);
}
Conversely, the logical AND seems to be faster than the bitwise AND on the CPU.
We should create a helper macro/method that can pick between bitwise and logical AND depending on whether the code is being compiled for the CPU or the GPU.
The text was updated successfully, but these errors were encountered:
publixsubfan
added
Core
Issues related to Axom's 'core' component
Primal
Issues related to Axom's 'primal component
GPU
Issues related to GPU development
labels
Jun 4, 2021
CoreIssues related to Axom's 'core' componentdesignIssues related to design and software engineeringGPUIssues related to GPU developmentPrimalIssues related to Axom's 'primal componentquestionFurther information is requestedReviewed
In #577, it was discovered that using bitwise AND to combine the results of single-dimension checks was considerably faster than using logical AND on the GPU:
Conversely, the logical AND seems to be faster than the bitwise AND on the CPU.
We should create a helper macro/method that can pick between bitwise and logical AND depending on whether the code is being compiled for the CPU or the GPU.
The text was updated successfully, but these errors were encountered: