在以下原型代码中,我想在使用Tensorflow的GPU上并行比较数组I
与数组F[0]
和F[1]
。我过去常常使用Pyopencl
import numpy as np
F = np.array([[4, 10, 1], [4, 12, 1]], np.int32)
I = np.array([5, 11, 1], np.int32)
output = [0, 0]
for f_id in range(len(F)): # no of threads should be equal to len(F)
f = F[f_id]
# When the first condition is false, code stops checking further and f_id is incremented
if I[0] > f[0] and I[1] < f[1] and I[2] == f[2]:
output[f_id] = 1
print(output)
在上面的if
语句中,当第一个条件为False
时,执行将停止并继续执行for循环中的下一个值。
如何使用TensorFlow在GPU上实现此目的?我希望2个GPU线程并行运行,一个用于F[0]
,另一个用于F[1]
。 F[0]
中的第一个条件为假时,第一个线程停止执行,并且不检查接下来的两位。
以上只是一个原型代码,可以帮助我更好地了解Tensorflow。在实际情况下,F
是大小为10**10
的数组,而I
是大小为10**8
的数组