arrayfire / arrayfire Goto Github PK
View Code? Open in Web Editor NEWArrayFire: a general purpose GPU library.
Home Page: https://arrayfire.com
License: BSD 3-Clause "New" or "Revised" License
ArrayFire: a general purpose GPU library.
Home Page: https://arrayfire.com
License: BSD 3-Clause "New" or "Revised" License
Right now the interpolation method used is nearest. Add the option to perform linear interpolation.
void af::sync(int device = -1);
int af::getDevice();
af_err af_get_device(const int *device);
af_err af_sync(const int device);
The following lines of cuda/CMakeLists.txt depend on the architecture
Line 33:
FILE(GLOB cuda_ptx "ptx/PTX64/sm_20/*.ptx")
Line 55:
CUDA_ADD_LIBRARY(afcuda SHARED ${cuda_src} OPTIONS "-arch=sm_20")
Possible libraries for CPU:
Possible libraries for CUDA:
Possible libraries for OpenCL:
Remove ArrayInfo from src/array
Add 3D and 4D tests for indexing and assignment functions.
Make sure all backends build properly on windows + visual studio >= 2013
cblas based functions are currently commented out on cpu backend for windows platform until this issue is resolved.
Implement Canny Edge Detector for all backends.
convolve
instead of convolve2
convolve
that calls the appropriate function based on number of dimensions.Bug appears when using floating point types
Write inline wrappers for the following to not break older API
- deviceset --> setDevice
- devicecount --> getDeviceCount
- deviceget --> getDevice
- loadimage --> loadImage
- saveimage --> saveImage
#if 0 // FIXME: Add these functions to C++ wrapper
void unlock() const;
template<typename T> T scalar() const;
template<typename T> T* device() const;
template<typename T> static T* alloc(size_t elements);
static void *alloc(size_t elements, af_dtype type);
template<typename T> static T* pinned(size_t elements);
static void *pinned(size_t elements, af_dtype type);
static void free(const void *);
#endif
Current sort, sort_index and sort_by_key exist in C++ API. Simply overload these using sort.
setunique
setunion
setintersect
Some options to consider:
dim4 is struct in include/af/dim4.hpp but is being defined as class in array.h. Change it to class.
Add new fft / ifft functions without the normalize parameters. forward fft's don't normalize. Inverse fft's normalize by the number of elements.
Fix compile errors and get it to build on OSX.
Not sure if it is a defective GPU or a problem with the code. Investigate on other CUDA 5.0 cards.
Implement hooks that enable opengl inter operation in CUDA backend.
Adding below new interfaces
moddims(af::array const& input, af::dim4 const& dims)
moddims(af::array const& input, dim_type d0, dim_type d1=1, dim_type d2=1, dim_type d3=1)
af::isnan and af::isinf are causing compiler warning on tegra. This is because those symbols are defined in c (http://en.cppreference.com/w/c/numeric/math/isinf / isnan).
Fix this by changing the API to isNaN and isInf.
Implement Infinite impulse response and Finite impulse response filters in ArrayFire.
CUDA random number generator values are not same from run to run. Expected behavior is that it generates same values across runs.
Fix CUDA 6.0 compile issues for boost shared ptr.
Make sure all the functions in C++ wrapper have tests associated with them.
Implement ORB in ArrayFire
af_eval(af_array arr);
Implement template matching algorithm in ArrayFire.
Currently the libraries are being created in the build/src/backend/<cpu/cuda/opencl>/ directories.
They should be created in build/lib64 directory.
Change cmake to make freeimage optional. Disable imageio if unavailable.
Instead of allocating and freeing memory using native calls for every array, implement a memory manager that uses a pool of buffers with fairly simple garbage collection.
Implement hooks that enable opengl inter operation in OpenCL backend.
Implement histogram equilazation for all backends.
Add FAST feature detection to ArrayFire.
Implement seq class for C++ API. Move C-API seq to af_seq.
Implement span and end.
Refactor code from v2.1.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.