我有一些C++/CUDA代码,我想比较两个不等的float2值。从本质上讲,我需要沿着线的东西:比较float2s的平等/不平等
float2 cond = {1,0}
float2 *array = ...
while (array[0] != cond)
{
Code...
}
我的代码的目的是实现共享内存一对夫妇进程之间一些基本的握手。我希望数组中的某个值作为就绪标志,所以我想监视它的值。我意识到还有其他方法可以在进程之间实现握手,但我需要实现这一点,而不必对已存在的代码进行很多更改。
注意:正如其他人所指出的,在浮动块之间进行直接比较绝不是一个好主意。但是,就我而言,没有任何操作会应用于有问题的元素,所以不应该有任何问题。在未来,我一定会努力寻找更好的解决方案,但在目前的限制下,这需要足够的。
使用浮点值对我来说似乎是一个特别糟糕的主意。 – talonmies
我明白这一点。任何操作都不会应用于要比较的任何元素,所以它不应该是一个问题。发生的一切是要么将它设置为{1,0}或{0,0}。我知道有无数更好的选择,但我现在正在受到不幸的限制。 – Kevin