Ejemplo n.º 1
0
import ThrustRTC as trtc

is_odd = trtc.Functor({}, ['x'], '''
         return x % 2;
''')

darr = trtc.device_vector_from_list([-5, 0, 2, -3, 2, 4, 0, -1, 2, 8],
                                    'int32_t')
trtc.Transform(darr, darr, trtc.Negate())
print(darr.to_host())

darr_in1 = trtc.device_vector_from_list([-5, 0, 2, 3, 2, 4], 'int32_t')
darr_in2 = trtc.device_vector_from_list([3, 6, -2, 1, 2, 3], 'int32_t')
darr_out = trtc.device_vector('int32_t', 6)
trtc.Transform_Binary(darr_in1, darr_in2, darr_out, trtc.Plus())
print(darr_out.to_host())

darr = trtc.device_vector_from_list([-5, 0, 2, -3, 2, 4, 0, -1, 2, 8],
                                    'int32_t')
trtc.Transform_If(darr, darr, trtc.Negate(), is_odd)
print(darr.to_host())

darr_data = trtc.device_vector_from_list([-5, 0, 2, -3, 2, 4, 0, -1, 2, 8],
                                         'int32_t')
darr_stencil = trtc.device_vector_from_list([1, 0, 1, 0, 1, 0, 1, 0, 1, 0],
                                            'int32_t')
trtc.Transform_If_Stencil(darr_data, darr_stencil, darr_data, trtc.Negate(),
                          trtc.Identity())
print(darr_data.to_host())

darr_in1 = trtc.device_vector_from_list([-5, 0, 2, 3, 2, 4], 'int32_t')
Ejemplo n.º 2
0
 def sum(data_out, data_in):
     trtc.Transform_Binary(data_in, data_out, data_out, trtc.Plus())
Ejemplo n.º 3
0
import ThrustRTC as trtc

darr1 = trtc.device_vector_from_list([1.0, 2.0, 5.0], 'float')
darr2 = trtc.device_vector_from_list([4.0, 1.0, 5.0], 'float')
print(trtc.Inner_Product(darr1, darr2, trtc.DVFloat(0.0)))
print(
    trtc.Inner_Product(darr1, darr2, trtc.DVFloat(0.0), trtc.Plus(),
                       trtc.Multiplies()))
Ejemplo n.º 4
0
 def add(output, addend):
     trtc.Transform_Binary(addend, output, output, trtc.Plus())
import ThrustRTC as trtc

darr1_in = trtc.device_vector_from_list([1, 2, 1, 2, 1, 2, 1, 2], 'int32_t')
darr1_out = trtc.device_vector('int32_t', 8)
trtc.Adjacent_Difference(darr1_in, darr1_out)
print(darr1_out.to_host())

darr2_in = trtc.device_vector_from_list([1, 2, 1, 2, 1, 2, 1, 2], 'int32_t')
darr2_out = trtc.device_vector('int32_t', 8)

trtc.Adjacent_Difference(darr2_in, darr2_out, trtc.Plus())
print(darr2_out.to_host())
Ejemplo n.º 6
0
import ThrustRTC as trtc

darr = trtc.device_vector_from_list([1, 0, 2, 2, 1, 3], 'int32_t')
trtc.Transform_Inclusive_Scan(darr, darr, trtc.Negate(), trtc.Plus())
print(darr.to_host())

darr = trtc.device_vector_from_list([1, 0, 2, 2, 1, 3], 'int32_t')
trtc.Transform_Exclusive_Scan(darr, darr, trtc.Negate(), trtc.DVInt32(4),
                              trtc.Plus())
print(darr.to_host())
Ejemplo n.º 7
0
import ThrustRTC as trtc



darr = trtc.device_vector_from_list([1, 0, 2, 2, 1, 3], 'int32_t')
print(trtc.Reduce(darr))
print(trtc.Reduce(darr, trtc.DVInt32(1)))
print(trtc.Reduce(darr, trtc.DVInt32(-1), trtc.Maximum()))

d_keys_in = trtc.device_vector_from_list([1, 3, 3, 3, 2, 2, 1], 'int32_t')
d_value_in = trtc.device_vector_from_list([9, 8, 7, 6, 5, 4, 3], 'int32_t')

d_keys_out = trtc.device_vector('int32_t', 7)
d_values_out = trtc.device_vector('int32_t', 7)

count = trtc.Reduce_By_Key(d_keys_in, d_value_in, d_keys_out, d_values_out)
print (d_keys_out.to_host(0, count))
print (d_values_out.to_host(0, count))

count = trtc.Reduce_By_Key(d_keys_in, d_value_in, d_keys_out, d_values_out, trtc.EqualTo())
print (d_keys_out.to_host(0, count))
print (d_values_out.to_host(0, count))

count = trtc.Reduce_By_Key(d_keys_in, d_value_in, d_keys_out, d_values_out, trtc.EqualTo(), trtc.Plus())
print (d_keys_out.to_host(0, count))
print (d_values_out.to_host(0, count))
Ejemplo n.º 8
0
import ThrustRTC as trtc


darr = trtc.device_vector_from_list([3, 7, 2, 5 ], 'int32_t')
trtc.Transform_Binary(darr, trtc.DVConstant(trtc.DVInt32(10)), darr, trtc.Plus())
print (darr.to_host())
Ejemplo n.º 9
0
def add(output, addend):
    trtc.Transform_Binary(thrust(addend), thrust(output), thrust(output),
                          trtc.Plus())