This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <vexcl/vexcl.hpp> | |
#include <vector> | |
#include <algorithm> | |
int main() { | |
vex::Context ctx(vex::Filter::Env && vex::Filter::Count(1)); | |
std::cout << ctx << std::endl; | |
std::vector<float> v = { | |
0, 5, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <vexcl/vexcl.hpp> | |
vex::vector<cl_float2> | |
hilbert(vex::vector<float> &in, std::size_t rows, std::size_t cols) { | |
// No need to pass context in: | |
const auto &ctx = in.queue_list(); | |
// Use function instead of vector. Should save global memory IO. | |
VEX_FUNCTION(h, float(size_t/*prm1 = idx*/, size_t/*prm2 = rows*/), | |
VEX_STRINGIZE_SOURCE( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Returns char, int, short, or long, or the unsigned variety | |
// and takes two char, uchar, short, ushort, int, uint, long, ulong inputs. | |
#define __CLFN_ALL(name) char __OVERLOAD__ name(char x, char y); \ | |
char2 __OVERLOAD__ name(char2 x, char2 y); \ | |
char3 __OVERLOAD__ name(char3 x, char3 y); \ | |
char4 __OVERLOAD__ name(char4 x, char4 y); \ | |
char8 __OVERLOAD__ name(char8 x, char8 y); \ | |
char16 __OVERLOAD__ name(char16 x, char16 y); \ | |
uchar __OVERLOAD__ name(uchar x, uchar y); \ | |
uchar2 __OVERLOAD__ name(uchar2 x, uchar2 y); \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
OpenCL devices: | |
Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz | |
CL_PLATFORM_NAME = Apple | |
CL_DEVICE_VENDOR = Intel | |
CL_DEVICE_VERSION = OpenCL 1.2 | |
CL_DEVICE_MAX_COMPUTE_UNITS = 2 | |
CL_DEVICE_HOST_UNIFIED_MEMORY = 1 | |
CL_DEVICE_GLOBAL_MEM_SIZE = 8589934592 | |
CL_DEVICE_LOCAL_MEM_SIZE = 32768 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
seed: 1390938656 | |
1. Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz (Apple) | |
Running 11 test cases... | |
#if defined(cl_khr_fp64) | |
# pragma OPENCL EXTENSION cl_khr_fp64: enable | |
#elif defined(cl_amd_fp64) | |
# pragma OPENCL EXTENSION cl_amd_fp64: enable | |
#endif |