My Project
unified/basic.cpp
/*******************************************************
* Copyright (c) 2015, ArrayFire
* All rights reserved.
*
* This file is distributed under 3-clause BSD license.
* The complete license agreement can be obtained at:
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
#include <arrayfire.h>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace af;
std::vector<float> input(100);
// Generate a random number between 0 and 1
// return a uniform number in [0,1].
double unifRand()
{
return rand() / double(RAND_MAX);
}
void testBackend()
{
af::dim4 dims(10, 10, 1, 1);
af::array A(dims, &input.front());
af::array B = af::constant(0.5, dims, f32);
}
int main(int argc, char *argv[])
{
std::generate(input.begin(), input.end(), unifRand);
try {
printf("Trying CPU Backend\n");
testBackend();
} catch (af::exception& e) {
printf("Caught exception when trying CPU backend\n");
fprintf(stderr, "%s\n", e.what());
}
try {
printf("Trying CUDA Backend\n");
testBackend();
} catch (af::exception& e) {
printf("Caught exception when trying CUDA backend\n");
fprintf(stderr, "%s\n", e.what());
}
try {
printf("Trying OpenCL Backend\n");
testBackend();
} catch (af::exception& e) {
printf("Caught exception when trying OpenCL backend\n");
fprintf(stderr, "%s\n", e.what());
}
return 0;
}
af::dim4
Definition: dim4.hpp:31
af::info
AFAPI void info()
af::constant
array constant(T val, const dim4 &dims, const dtype ty=(af_dtype) dtype_traits< T >::ctype)
af::array
A multi dimensional data container.
Definition: array.h:32
af
Definition: algorithm.h:13
af_print
#define af_print(...)
Definition: util.h:140
AF_BACKEND_OPENCL
OpenCL Compute Backend.
Definition: defines.h:372
af::exception
Definition: exception.h:24
arrayfire.h
AF_BACKEND_CUDA
CUDA Compute Backend.
Definition: defines.h:371
af::exception::what
virtual const char * what() const
Definition: exception.h:45
af::setBackend
AFAPI void setBackend(const Backend bknd)
f32
32-bit floating point values
Definition: defines.h:195
AF_BACKEND_CPU
CPU a.k.a sequential algorithms.
Definition: defines.h:370