MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / main

Function main

compute/example/transform_sqrt.cpp:22–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20namespace compute = boost::compute;
21
22int main()
23{
24 // get default device and setup context
25 compute::device device = compute::system::default_device();
26 compute::context context(device);
27 compute::command_queue queue(context, device);
28
29 // generate random data on the host
30 std::vector<float> host_vector(10000);
31 std::generate(host_vector.begin(), host_vector.end(), rand);
32
33 // create a vector on the device
34 compute::vector<float> device_vector(host_vector.size(), context);
35
36 // transfer data from the host to the device
37 compute::copy(
38 host_vector.begin(), host_vector.end(), device_vector.begin(), queue
39 );
40
41 // calculate the square-root of each element in-place
42 compute::transform(
43 device_vector.begin(),
44 device_vector.end(),
45 device_vector.begin(),
46 compute::sqrt<float>(),
47 queue
48 );
49
50 // copy values back to the host
51 compute::copy(
52 device_vector.begin(), device_vector.end(), host_vector.begin(), queue
53 );
54
55 return 0;
56}
57
58//]

Callers

nothing calls this directly

Calls 6

copyFunction · 0.85
transformFunction · 0.85
generateFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected