Questions tagged [vexcl]

VexCL is a C++ vector expression template library for OpenCL/CUDA

VexCL is a vector expression template library for OpenCL/CUDA. It has been created for ease of GPGPU development with C++. VexCL strives to reduce amount of boilerplate code needed to develop GPGPU applications. The library provides convenient and intuitive notation for vector arithmetic, reduction, sparse matrix-vectork products, etc. Multi-device and even multi-platform computations are supported. The source code of the library is distributed under very permissive MIT license.

See VexCL documentation at http://vexcl.readthedocs.io/

Notable alternatives for VexCL:

9 questions
42
votes
1 answer

Differences between VexCL, Thrust, and Boost.Compute

With a just a cursory understanding of these libraries, they look to be very similar. I know that VexCL and Boost.Compute use OpenCl as a backend (although the v1.0 release VexCL also supports CUDA as a backend) and Thrust uses CUDA. Aside from the…
Sean Lynch
  • 2,852
  • 4
  • 32
  • 46
4
votes
1 answer

Dense Matrix-vector multiplication in VexCL

VexCL seems to be a very attractive library for gpu programming. Unfortunately, its a very young library and there are few information over there. I've been searching how to execute a matrix-vector multiplication, but the only matrix representation…
MasterID
  • 1,510
  • 1
  • 11
  • 15
3
votes
1 answer

VexCL vector of structs?

So I know that it is possible to use custom types with OpenCL. But I haven't been able to use them with VexCL. Creating a device vector of structs works fine, but I can't perform any operations. As I haven't found any examples using custom types…
Frodo
  • 33
  • 3
2
votes
2 answers

Lorenz example with odeint and VexCL yielding different results on different devices

Update: I've run this example with other systems. On an Intel i7-3630QM, Intel HD4000 and Radeon HD 7630M, all results are the same. With an i7-4700MQ / 4800MQ the results of the CPU are different when OpenCL or a 64 bit gcc is used from an 32 bit…
ergo
  • 23
  • 3
1
vote
1 answer

VexCL Reshape Behaving Strangely

I have the following code snippet testing the VexCL reshape function: std::vector ints; for (int i = 0; i < n; i++) ints.push_back(i); vex::vector vex_ints(ctx, ints); vex_ints = vex::reshape(vex_ints, vex::extents[2][n/2],…
Ryan Vogan
  • 43
  • 3
0
votes
1 answer

Boost - Odeint: What means concurrency using VexCL and how to improve it?

My question is related to the tutorial which explains how to implement boost::odeint with VexCL in order to achieve concurrency (the complete code can be found here). The following figure shows how I think of the iterations of ODEINT: Now I ask…
Alex44
  • 3,597
  • 7
  • 39
  • 56
0
votes
2 answers

VexCL: count amount of values in a vector above minimum

Using VexCL in C++ I am trying to count all values in a vector above a certain minimum and I would like to perform this count on the device. The default Reductors only provide methods for MIN, MAX and SUM and the examples do not show very clear how…
Neman
  • 1,237
  • 2
  • 13
  • 16
0
votes
1 answer

VexCL: Index of maximum value in a vexcl vector

How can I find the index of the maximum value in a VexCL vector? I can find the maximum value: int h[] = {3, 2, 1, 5, 4}; vex::vector d(ctx, 5); vex::copy(h, d); vex::Reductor max(ctx.queue()); int m = max(d); Which gives m =…
smn
  • 548
  • 2
  • 7
0
votes
1 answer

working with VexCL "compiling binaries"

I want to make a program "which will be distributed to customers" , so I wanna protect my kernels code from hackers "some one told me that AMD driver some-how puts the kernel source inside the binary , so hacker can log the kernel with AMD…
Mohamed Sakr
  • 409
  • 4
  • 16