我在 Matlab 中计算一个函数f ( x ) = exp(- x ),其中x是一个标量向量。该函数在 GPU 上计算,例如
x_cpu = [4 5 11 1];
x = gpuArray(x_cpu);
f = exp(-x);
那么结果将是:
f = exp(-[4, 5, 11, 1]) = [0.183, 0.0067, 1.6702e-005, 0.3679]。
请注意,f ( x (3)) = f (11) = exp(-11) = 1.6702e-005 = 0.000016702,这是一个非常小的值。因此,我想通过简单地设置f ( x (i)) = 0来避免计算所有x (i) > 10 的函数。
我可能可以使用x的稀疏矩阵表示。但是,Parallel Computing Toolbox 不支持在 GPU 上对稀疏矩阵进行运算。
你会如何处理这个问题?