Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
346 commits
Select commit Hold shift + click to select a range
bb0a22c
Moved more cpu fns implementations to kernel namespace
9prady9 Dec 19, 2015
7d7f32f
moved the left over fns to cpu kernel namespace
9prady9 Dec 19, 2015
1313f98
Fixed the bug in cpu ireduce kernel function
9prady9 Dec 20, 2015
5c01608
remove state globals
syurkevi Dec 21, 2015
b1aa875
remove windows pause ifdef
syurkevi Dec 21, 2015
b684b06
Fixed orb async cpu fn
9prady9 Dec 21, 2015
c62eea0
Merge pull request #1152 from syurkevi/gravity_example
9prady9 Dec 28, 2015
a0f17b6
cmake fix to check for threads submodule
9prady9 Dec 28, 2015
c539f1d
moved fft cpu fns implementations to kernel namespace
9prady9 Dec 28, 2015
4831215
moved dot cpu implementation to kernel namespace
9prady9 Dec 28, 2015
d1089f8
moved fftconvolve reorder helper fn to kernel namespace
9prady9 Dec 28, 2015
4f8b3fa
fixed cpu::kernel::dot fn signature
9prady9 Dec 28, 2015
95d9346
Added ENQUEUE macro in cpu backend
9prady9 Dec 28, 2015
7dad2ef
Removed obsolete queue sync in cpu::padArray fn
9prady9 Dec 28, 2015
90611a2
Fixed cmake condition for threads submodule check
9prady9 Dec 28, 2015
5ecdc54
Added API support for perspective transform
Dec 29, 2015
2a43871
Added perspective transform to CPU backend
Dec 29, 2015
7fdfe3e
Added perspective transform to CUDA backend
Dec 29, 2015
15b9ad6
Added perspective transform to OpenCL backend
Dec 29, 2015
81dca06
Updated transform documentation
Dec 29, 2015
8e4e766
Added perspective transform unit tests
Dec 29, 2015
7327fb2
Updated test data
Dec 29, 2015
27aeed0
Fixed wrong data type in OpenCL transform
Dec 29, 2015
bdc31d0
Simplified test for perspective transform in API
Dec 29, 2015
951533c
Merge pull request #1190 from pentschev/perspective_transform
pavanky Dec 30, 2015
1cbffbb
Synchronize when AF_SYNCHRONOUS_CALLS is set to 1
umar456 Dec 30, 2015
6058dd2
Revert "Added ENQUEUE macro in cpu backend"
umar456 Dec 30, 2015
2ae8273
Merge remote-tracking branch 'arrayfire/master' into devel
pavanky Dec 30, 2015
f0b9691
Merge branch 'devel' into async
9prady9 Dec 30, 2015
861808e
Merge pull request #1174 from umar456/async
pavanky Dec 31, 2015
1dd2195
Cleanup util.cpp
shehzan10 Dec 31, 2015
e19a6be
Using getEnvVar instead of getenv
shehzan10 Dec 31, 2015
b260abf
Cleanup/improve backend test
shehzan10 Dec 31, 2015
de4851d
Not building info for unified. backend does the same as info
shehzan10 Dec 31, 2015
4d06c74
FEAT Added isImageIOAvailable function to check support
shehzan10 Dec 31, 2015
1b85d6d
FEAT Added isLAPACKAvailable function to check support
shehzan10 Dec 31, 2015
7747ee6
Use isImageIOAvailable in testHelper
shehzan10 Dec 31, 2015
fe3fa66
Use isLAPACKAvailable in testHelper
shehzan10 Dec 31, 2015
b89ab5d
Add missing af_err to string
shehzan10 Dec 31, 2015
8813a2e
af_get_last_error supports NULL as valid argument for len
shehzan10 Dec 31, 2015
b7af25a
Improvements to af::exception messages
shehzan10 Dec 31, 2015
7b6eee1
Add version guards around allocHost and freeHost
shehzan10 Dec 31, 2015
9605740
Deprecate af_(lock/unlock)_device_ptr. Use af_(lock/unlock)_array
shehzan10 Dec 31, 2015
d02636a
Add memFreeUnlinked to free locked device ptrs
shehzan10 Dec 31, 2015
330f4f8
FEAT Add printMemInfo to print memory information
shehzan10 Dec 31, 2015
ed5556c
Renamed is_free -> mngr_lock and is_unlinked -> user_lock in cpu memo…
shehzan10 Jan 1, 2016
aa25b17
Renamed is_free -> mngr_lock and is_unlinked -> user_lock in cuda mem…
shehzan10 Jan 1, 2016
cef8559
Renamed is_free -> mngr_lock and is_unlinked -> user_lock in opencl m…
shehzan10 Jan 1, 2016
dbe861e
Reverse conditions for freeing in memory managers
shehzan10 Jan 1, 2016
33fbf33
Renamed internal memFree functions
shehzan10 Jan 1, 2016
8cb21a4
Fix AF_DISABLE_GRAPHICS condition (Fixes e19a6be)
shehzan10 Jan 2, 2016
c2d7e42
Fix clang warnings (std::abs, pragma ignores)
shehzan10 Jan 2, 2016
fa765a6
Merge pull request #1208 from shehzan10/clang-warnings
pavanky Jan 3, 2016
b0c7c9a
Merge pull request #1207 from shehzan10/memory
pavanky Jan 3, 2016
6988950
Build fix for CUDA backend when using boost 1.60
pavanky Jan 3, 2016
e5bb334
Add missing isLAPACKAvailable implementation in CPU backend
shehzan10 Jan 4, 2016
775747e
Set revision to "default" when git is not available
shehzan10 Jan 4, 2016
84dccc8
Documentation fixes
shehzan10 Jan 4, 2016
3c91935
Replaced ssh based url with http url for threads submodule
9prady9 Jan 4, 2016
7f7ce20
Merge pull request #1216 from 9prady9/threads_uri_fix
pavanky Jan 4, 2016
60a722a
Merge pull request #1215 from shehzan10/devel
pavanky Jan 4, 2016
09bc060
Merge pull request #1211 from pavanky/compile_fixes
pavanky Jan 4, 2016
d9e5288
Fix NONFREE Build CMake Options
shehzan10 Jan 6, 2016
5be5511
Handle compute_53 (tegra x1) for cuda lapack
shehzan10 Jan 6, 2016
cc00f35
Add definition for each compute type
shehzan10 Jan 6, 2016
a1823b3
Added helper functions for device type and unified mem in OpenCL
shehzan10 Jan 7, 2016
4275f5f
Added getMappedPtr and unmapPtr functions in opencl memory
shehzan10 Jan 7, 2016
3c1ab9f
Added matmul offloading to CPU
shehzan10 Jan 7, 2016
f9819f7
Fix blas header types in cpu
shehzan10 Jan 7, 2016
d5077ec
Fix bug in OpenCL JIT when calling functions that return same value
shehzan10 Jan 7, 2016
ac25f5b
Fix bug in CUDA JIT when calling functions that return same value
shehzan10 Jan 7, 2016
507ec92
dot in CUDA/OpenCL now uses mul followed by reduction
shehzan10 Jan 7, 2016
5940d4b
Always use freeimage flags instead of hardcoded offsets
pavanky Jan 8, 2016
7eafd44
Remove cpu dot fallback. Slower than opencl dot always
shehzan10 Jan 8, 2016
45abbc3
Add OpenCL-CPU fallback for LU
shehzan10 Jan 8, 2016
a6ae9bd
Merge pull request #1218 from pavanky/freeimage_fix
shehzan10 Jan 8, 2016
88e910d
Add OpenCL-CPU fallback for Cholesky
shehzan10 Jan 8, 2016
872acfb
Add OpenCL-CPU fallback for QR
shehzan10 Jan 8, 2016
59a9df0
Add OpenCL-CPU fallback for SVD
shehzan10 Jan 8, 2016
ffb191c
Add OpenCL-CPU fallback for solve
shehzan10 Jan 8, 2016
4e2d46c
Add OpenCL-CPU fallback for inverse
shehzan10 Jan 8, 2016
210a64c
Clean up header files in opencl/cpu/
shehzan10 Jan 8, 2016
e08d41b
Update environment variables doc
shehzan10 Jan 8, 2016
685dccd
Update boost compute release tag
shehzan10 Jan 8, 2016
6b7b1ce
Update clFFT release tag
shehzan10 Jan 8, 2016
b36d003
Move MappedPtr into the Array class
shehzan10 Jan 9, 2016
56f9140
FEAT Add getActiveBackend function
shehzan10 Jan 9, 2016
3047acd
Add the ability to sort OpenCL devices Using the following criterion
pavanky Jan 9, 2016
8873ed2
Using proper offsets for loadImageNative and saveImageNative
pavanky Jan 10, 2016
14230d2
Adding environment variables to choose OpenCL device
pavanky Jan 10, 2016
2f16824
Cleaning up exception handling in src/api/c
pavanky Jan 10, 2016
b42cbeb
Updating docs for new AF_OPENCL_*_TYPE environment variables
pavanky Jan 10, 2016
17b2600
Freeimage only requires the flags for 24 / 32 bit images
pavanky Jan 10, 2016
bb29d92
Merge pull request #1222 from pavanky/opencl_device_sort
shehzan10 Jan 10, 2016
5866b17
Merge pull request #1202 from shehzan10/clupdates
pavanky Jan 10, 2016
777abcb
Moving dispatch.hpp / dispatch.cpp to src/backend/
pavanky Jan 11, 2016
828138c
Renaming a few internal functions
pavanky Jan 11, 2016
c8cd29b
Adding a unified memory manager for all backends
pavanky Jan 11, 2016
a175432
Remove unnecessary line from CMakeLists
pavanky Jan 11, 2016
43d030d
Cleaning up error messages in loading and saving files
pavanky Jan 11, 2016
73b7cac
Fixing CUDA platform manager to sort devices in a more saner manner.
pavanky Jan 11, 2016
d75b899
Adding lock to memory allocated using af_alloc_device / af::alloc
pavanky Jan 11, 2016
d5f3bf1
Adding documentation for AF_MEM_DEBUG
pavanky Jan 11, 2016
f9a8336
Additional sanitizing for mutex locks
pavanky Jan 11, 2016
0638f3f
Removing unnecessary returns from void functions
pavanky Jan 11, 2016
1520dc3
Fixing issue where garbageCollect was only called on current device
pavanky Jan 11, 2016
aaf554e
BUGFIX: Initialize buffer counts to 0
pavanky Jan 11, 2016
9d0c159
af_set_device now only warns when device > 0 on CPU
pavanky Jan 11, 2016
3009e8f
Merge pull request #1225 from pavanky/memory_manager
shehzan10 Jan 12, 2016
db14451
Re-enable disabled sort tests from issue #995
shehzan10 Jan 10, 2016
6da71e5
BUGFIX Handle 16-bit data in saveImage
shehzan10 Jan 11, 2016
b14ae20
Fix saveImageNative for 1-channel images
shehzan10 Jan 11, 2016
a6a4cdb
Update test data submodule commit
shehzan10 Jan 11, 2016
88cf471
Add tests for 16-bit images for ImageIO+Native
shehzan10 Jan 11, 2016
968ae4e
Handle CUDA devices locked in exclusive mode
shehzan10 Jan 11, 2016
cc9018e
Add try/catch around cuda::setDevice in Pinned Memory Manager
shehzan10 Jan 12, 2016
b39b60d
Merge remote-tracking branch 'upstream/devel' into fallback-opts
shehzan10 Jan 12, 2016
904d3e0
Using device independent vector for cuda Pinned Memory Manager
shehzan10 Jan 12, 2016
a8b831b
Cleanup for opencl-cpu offload
shehzan10 Jan 13, 2016
f6e309b
Clean up cusolver finding in cmake
shehzan10 Jan 12, 2016
bb479bf
Merge pull request #1229 from shehzan10/imageio16-test
pavanky Jan 14, 2016
9962b87
Merge pull request #1221 from shehzan10/fallback-opts
pavanky Jan 14, 2016
3941550
Move asserts inside try/catch in indexer functions in util
shehzan10 Jan 14, 2016
735b66b
Fix OpenCL-CPU offload when OpenCL is built without lapack
shehzan10 Jan 14, 2016
323bf75
Added tranform coordinates functionality
Jan 16, 2016
ba483f1
Added transform coordinates to unified backend
Jan 16, 2016
3522f80
Added transform coordinates documentation
Jan 16, 2016
7f3e215
Added transform coordinates unit tests
Jan 16, 2016
230c603
Updated test data
Jan 16, 2016
3389940
Fix resize unit test.
umar456 Jan 18, 2016
6a34bee
Compile fixes for gcc 5.3
pavanky Jan 18, 2016
46042fe
Fixing compiler warnings
pavanky Jan 18, 2016
5fba37c
Functions to get opencl device type and platforms
pavanky Jan 18, 2016
34c8c97
Work around for a bug in AMD's clBuildProgram
pavanky Jan 19, 2016
ffc6e7f
Putting transform coordinates within version guards
pavanky Jan 19, 2016
8a68775
Merge branch 'devel' of shehzan10/arrayfire into devel
pavanky Jan 19, 2016
4579762
Merge branch 'compile_fixes' of pavanky/arrayfire into devel
pavanky Jan 19, 2016
e7e6080
Update clBLAS release tag
shehzan10 Jan 8, 2016
845d3b3
Fixes in magma potrf (opencl cholesky)
shehzan10 Jan 18, 2016
3ce49a5
BUGFIX Fix how streams are created in setActiveDevice (CUDA)
shehzan10 Jan 20, 2016
76e9af4
Merge pull request #1220 from shehzan10/clBLAS-updates
pavanky Jan 20, 2016
58fc4c8
Fixes to getMappedPtr in OpenCL backend
pavanky Jan 20, 2016
d3d2996
Add getHostMemorySize and getDeviceMemorySize functions
shehzan10 Jan 20, 2016
6c30652
Updates to Memory Manager and Garbage Collection Heuristics
shehzan10 Jan 20, 2016
043739f
Move ArrayFireConfig, CPack (as CPackConfig) into CMakeModules
shehzan10 Jan 21, 2016
cfd60f1
Move /bigobj definitions into main CMakeList (windows)
shehzan10 Jan 21, 2016
cc2dda0
Fixes to build with MKL when INTEL_MKL_ROOT is exported
pavanky Jan 21, 2016
aba1851
BUGFIX Add/remove entries for platform when adding external device/co…
shehzan10 Jan 22, 2016
163b5fb
BUGFIX Fix CUDA device management and free at destructor
shehzan10 Jan 23, 2016
805dc5b
Fix Tests: ORB, Meanshift, basic_c, solve
shehzan10 Jan 23, 2016
7eb905f
Add documentation for deviceInfo
shehzan10 Jan 25, 2016
78f157c
Merge branch 'memory' of shehzan10/arrayfire into devel
pavanky Jan 26, 2016
0039cdb
Proper exception handling for memory manager
pavanky Jan 27, 2016
91bed33
Removing unneeded cudaDeviceSynchronize()
pavanky Jan 27, 2016
519d3bb
Adding compute 37 to list of accepted CUDA computes
pavanky Jan 28, 2016
96041b5
BUGFIX: incorrect index for 3rd dimension in select / replace
pavanky Jan 28, 2016
3242618
Documentation fix in matchTemplate function
9prady9 Jan 29, 2016
209643b
syntax+typo fix in opencl backend
9prady9 Jan 29, 2016
9bf1455
Updated test data for meanshift, bilateral & morph
9prady9 Jan 29, 2016
f228de3
TEST: Adding tests for 3D and 4D select and replace
pavanky Jan 28, 2016
41bad15
Changes required to build tests in a single file
pavanky Jan 28, 2016
f8b0fb1
Merge pull request #1251 from pavanky/bug_fixes
pavanky Jan 31, 2016
f94f522
Merge pull request #1250 from pavanky/misc_fixes
pavanky Jan 31, 2016
64ef789
Merge pull request #1252 from 9prady9/docs_fixes
pavanky Jan 31, 2016
3fc6939
Fixes issues when compiling with icc
Jan 30, 2016
8648066
Merge branch 'fixes_to_compile_with_icc' of mchandra/arrayfire into d…
pavanky Feb 1, 2016
ee7fa33
Removing unnecessary option "BUILD_GTEST"
pavanky Feb 1, 2016
653416d
Updating release notes for 3.3 pre-release
pavanky Feb 1, 2016
fc7553d
BUGFIX: max_bytes were being set incorrectly in MemoryManager
pavanky Feb 2, 2016
5183a35
Cleaning up internal API for memory functions
pavanky Feb 3, 2016
82e6558
JIT evaluation can now be tweaked by environment variables
pavanky Feb 3, 2016
f674cda
BUGFIX: Fixing error in where for OpenCL backend
pavanky Feb 2, 2016
01d819a
Prevent copy assignment & construction of af::Window object
9prady9 Feb 4, 2016
a1b7f8c
Changes to internal memory manager
pavanky Feb 3, 2016
a938500
Fixes to random.hpp to work in multi-threaded environment
pavanky Feb 4, 2016
95aaf72
OpenCL JIT now launches more threads per work group for CPU devices
pavanky Feb 4, 2016
90ab8cd
Merge pull request #1262 from pavanky/memory_manager_fixes
pavanky Feb 4, 2016
98ff1c0
Merge pull request #1260 from pavanky/where_fix
pavanky Feb 4, 2016
e0879cb
FEAT: Adding functions exposing Array internals
pavanky Feb 5, 2016
6453b40
Merge pull request #1263 from 9prady9/gfx_fixes
pavanky Feb 8, 2016
b6ccdef
Memory leak fix in af_median_all
9prady9 Feb 9, 2016
d0f401e
Compile fix for armel architecture
pavanky Feb 9, 2016
4d7b37a
Adding cmake option to disable async queues
pavanky Feb 9, 2016
16fd976
Changes to remove unneeded font
pavanky Feb 9, 2016
7e141c1
Merge branch 'median_memleak_fix' of 9prady9/arrayfire into devel
pavanky Feb 9, 2016
4d6c6cd
Merge branch 'thread_fix' of pavanky/arrayfire into devel
pavanky Feb 9, 2016
484761c
Merge branch 'assets_fixes' of pavanky/arrayfire into devel
pavanky Feb 9, 2016
2325ca2
Fixing memory leak in plot3
pavanky Feb 9, 2016
05296fb
Cleaning up code in plot3
pavanky Feb 9, 2016
ff27536
Bugfixes, code clean up of plot
pavanky Feb 9, 2016
213c8e6
Clean up of surface()
pavanky Feb 9, 2016
d7d79af
BUGFIX: Fixing offsets when writing to Arrays for CPU and CUDA backends
pavanky Feb 11, 2016
1b623a0
Reorganizing offset to be inside ArrayInfo
pavanky Feb 11, 2016
2d59503
BUGFIX: Fixed issues with offsets in moddims after using indexing
pavanky Feb 11, 2016
b260cc8
Fixes to internal functions
pavanky Feb 11, 2016
6e9eacb
DOCS: Adding documentation for internal functions
pavanky Feb 11, 2016
f6d0236
Renaming createArray to be createStridedArray
pavanky Feb 11, 2016
f728c03
Adding additional constraints when creating strided array
pavanky Feb 11, 2016
7bc56a7
Adding functions to get raw pointer out of Array<T>
pavanky Feb 11, 2016
86ff134
TEST: Adding tests for internal functions
pavanky Feb 11, 2016
fa0f6e7
Merge pull request #1265 from pavanky/internals
pavanky Feb 12, 2016
f3c5ad2
Merge pull request #1274 from pavanky/gfx_fixes
pavanky Feb 12, 2016
5be6cd7
BUGFIX: Fixed bug in CUDA and OpenCL when re-using same JIT nodes.
pavanky Feb 12, 2016
3faa83d
Adding tests for to check for resetting in JIT
pavanky Feb 12, 2016
3753a60
Merge pull request #1278 from pavanky/jit_fixes
pavanky Feb 13, 2016
199ea82
Moving af_get_version to version.cpp
pavanky Feb 15, 2016
11aa933
Fixing af_get_last_error for unified backend
pavanky Feb 15, 2016
fd87af4
Add better error messages coming out of unified api
pavanky Feb 16, 2016
52158ef
Properly handle af_release_array when using a different backend
pavanky Feb 16, 2016
4c045b1
Set minimum CMake version to 2.8.12 (previously 2.8)
shehzan10 Feb 16, 2016
3c06fa0
Force offload OSX LAPACK on unified memory devices
shehzan10 Feb 16, 2016
3c385b3
Add BUILD_* Options for examples and tests when building standalone
shehzan10 Feb 16, 2016
9b10c0e
Added support for loading 32 bit integer images
Feb 16, 2016
236ac64
Merge remote-tracking branch 'pavanky/unified' into devel
shehzan10 Feb 18, 2016
123a037
Merge remote-tracking branch 'yshady/loadImageINT32' into devel
shehzan10 Feb 18, 2016
fd660a0
Merge remote-tracking branch 'origin/devel' into devel
shehzan10 Feb 18, 2016
0a0f6e3
Search for GLEWmx in default paths too
jpauwels Feb 20, 2016
e4facbb
Adding function to check if memory usage is approaching the limits
pavanky Feb 22, 2016
e1abe12
Changes to make sure cpu backend does not enqueue too many functions.
pavanky Feb 22, 2016
e59df75
Making copyArray from cpu backend asynchronous
pavanky Feb 22, 2016
cfe76f3
Adding missing evals in cpu backend
pavanky Feb 22, 2016
c66da40
BUGFIX: Fixing array.write for all backends
pavanky Feb 22, 2016
49a18e0
Change clBLAS commit tag to af3.3.0
shehzan10 Feb 22, 2016
31b8643
Change clFFT commit tag to af3.3.0
shehzan10 Feb 22, 2016
513e711
Fixes for using MKL on OSX
shehzan10 Feb 22, 2016
cc59efa
Fix to MemoryManager in debug mode
pavanky Feb 22, 2016
d6d08f9
Clear the free_map after calling garbageCollect in MemoryManager
pavanky Feb 22, 2016
6325406
Exit early when destructor is called on empty arrays.
pavanky Feb 22, 2016
d4fb656
Added support for finding MKL RT on OSX for BLAS, LAPACKE, FFTW
shehzan10 Feb 22, 2016
96baaf9
Fixes to and reorganization of OSX Installer
shehzan10 Feb 23, 2016
529b638
OSX Installer: Move libforge and ArrayFireConfig into common sub package
shehzan10 Feb 23, 2016
571f0ca
Renaming ambiguous getInfo to getDeviceInfo
pavanky Feb 23, 2016
f0d11b3
Make getInfo check if af_array belongs to current device.
pavanky Feb 23, 2016
0258883
BUGFIX: Fixing getId() from ArrayInfo
pavanky Feb 23, 2016
c38cc2d
BUGFIX: Ensure set operations work on vectors only
pavanky Feb 24, 2016
4831631
DOCS: Fixing documentation for exp
pavanky Feb 24, 2016
9b793f0
FEAT,TEST,DOC: Adding function to query which device an array was cre…
pavanky Feb 23, 2016
5e63fbb
Merge pull request #1292 from jpauwels/patch-1
pavanky Feb 24, 2016
8eb31eb
Merge pull request #1295 from shehzan10/devel
pavanky Feb 24, 2016
6bb2bcd
Merge pull request #1293 from pavanky/cpu_mem_async
pavanky Feb 24, 2016
054ef71
Merge pull request #1303 from pavanky/minor_fixes
pavanky Feb 24, 2016
c6f8a90
Merge pull request #1299 from pavanky/device_id
pavanky Feb 24, 2016
706ebe8
Merge pull request #1298 from shehzan10/osx-installer
pavanky Feb 24, 2016
e67f04c
Merge pull request #1297 from pavanky/memory_manager_fixes
pavanky Feb 24, 2016
9421284
Merge pull request #1296 from shehzan10/osx-mkl-fixes
pavanky Feb 24, 2016
e83fcaf
Added release notes
shehzan10 Feb 25, 2016
58809cb
Support to set visibility of windows programmatically
9prady9 Feb 25, 2016
8e24695
Merge pull request #1305 from 9prady9/gfx_additions
pavanky Feb 25, 2016
443b5e8
Merge pull request #1304 from shehzan10/release
pavanky Feb 25, 2016
5a22674
DOC Typo corrections in Installation page
shehzan10 Feb 25, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ GPATH
include/af/version.h
src/backend/version.hpp
docs/details/examples.dox
/TAGS
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "test/gtest"]
path = test/gtest
url = https://chromium.googlesource.com/external/googletest
[submodule "src/backend/cpu/threads"]
path = src/backend/cpu/threads
url = https://github.com/alltheflops/threads.git
39 changes: 20 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
PROJECT(ARRAYFIRE)

SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
Expand All @@ -9,7 +9,6 @@ INCLUDE(AFInstallDirs)

OPTION(BUILD_TEST "Build Tests" ON)
OPTION(BUILD_EXAMPLES "Build Examples" ON)
OPTION(BUILD_GTEST "Download gtest and check for updates. Necessary if you change compilers" ON)

OPTION(BUILD_CPU "Build ArrayFire with a CPU backend" ON)

Expand All @@ -31,9 +30,6 @@ OPTION(BUILD_DOCS "Create ArrayFire Documentation" OFF)
OPTION(WITH_COVERAGE "Added code coverage flags" OFF)

OPTION(BUILD_NONFREE "Build ArrayFire nonfree algorithms" OFF)
OPTION(BUILD_SIFT "Build ArrayFire nonfree algorithms" OFF)

MARK_AS_ADVANCED(BUILD_SIFT)

OPTION(BUILD_UNIFIED "Build Backend-Independent ArrayFire API" ON)

Expand Down Expand Up @@ -91,17 +87,18 @@ IF(BUILD_GRAPHICS)

ENDIF(BUILD_GRAPHICS)

IF(BUILD_NONFREE)
MESSAGE(WARNING "Building With NONFREE ON requires the following patents")
SET(BUILD_SIFT ON)
ENDIF(BUILD_NONFREE)
IF(${BUILD_NONFREE})
MESSAGE(WARNING "Building With NONFREE ON requires the following patents")
SET(BUILD_NONFREE_SIFT ON CACHE BOOL "Build ArrayFire with SIFT")
MARK_AS_ADVANCED(BUILD_NONFREE_SIFT)
ELSE(${BUILD_NONFREE})
UNSET(BUILD_NONFREE_SIFT CACHE) # BUILD_NONFREE_SIFT cannot be built without BUILD_NONFREE
ENDIF(${BUILD_NONFREE})

IF(BUILD_SIFT)
ADD_DEFINITIONS(-DAF_BUILD_SIFT)
IF(${BUILD_NONFREE_SIFT})
ADD_DEFINITIONS(-DAF_BUILD_NONFREE_SIFT)

IF (NOT BUILD_NONFREE)
MESSAGE(WARNING "Building with SIFT requires the following patents")
ENDIF()
MESSAGE(WARNING "Building with SIFT requires the following patents")

MESSAGE("Method and apparatus for identifying scale invariant features"
"in an image and use of same for locating an object in an image,\" David"
Expand All @@ -110,7 +107,7 @@ IF(BUILD_SIFT)
"further details, contact David Lowe (lowe@cs.ubc.ca) or the"
"University-Industry Liaison Office of the University of British"
"Columbia.")
ENDIF(BUILD_SIFT)
ENDIF(${BUILD_NONFREE_SIFT})

INCLUDE_DIRECTORIES(
"${CMAKE_CURRENT_SOURCE_DIR}/include"
Expand Down Expand Up @@ -154,6 +151,10 @@ ELSE(${UNIX}) #Windows
# http://www.kitware.com/blog/home/post/434
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /Gm-")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /Gm-")

# Builds that contain debug info require /bigobj
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj")
ENDIF(MSVC)
ENDIF()

Expand Down Expand Up @@ -223,7 +224,7 @@ ENDIF(FORGE_FOUND AND NOT USE_SYSTEM_FORGE)
SET(INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
SET(BACKEND_DIR "src/backend/\${lowerbackend}")
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/ArrayFireConfig.cmake.in
${CMAKE_MODULE_PATH}/ArrayFireConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/ArrayFireConfig.cmake
@ONLY)

Expand All @@ -233,11 +234,11 @@ STRING(REGEX REPLACE "[^/]+" ".." reldir "${AF_INSTALL_CMAKE_DIR}")
SET(INCLUDE_DIR "\${CMAKE_CURRENT_LIST_DIR}/${reldir}/include")
set(BACKEND_DIR)
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/ArrayFireConfig.cmake.in
${CMAKE_MODULE_PATH}/ArrayFireConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/Install/ArrayFireConfig.cmake
@ONLY)
CONFIGURE_FILE(
${CMAKE_CURRENT_SOURCE_DIR}/ArrayFireConfigVersion.cmake.in
${CMAKE_MODULE_PATH}/ArrayFireConfigVersion.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/ArrayFireConfigVersion.cmake
@ONLY)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/Install/ArrayFireConfig.cmake
Expand Down Expand Up @@ -265,4 +266,4 @@ ENDIF(APPLE)
##
# Packaging
##
include(${CMAKE_CURRENT_SOURCE_DIR}/CPack.cmake)
include(${CMAKE_MODULE_PATH}/CPackConfig.cmake)
File renamed without changes.
2 changes: 1 addition & 1 deletion CPack.cmake → CMakeModules/CPackConfig.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

include("${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/Version.cmake")
INCLUDE("${CMAKE_MODULE_PATH}/Version.cmake")

# CPack package generation
#SET(CPACK_GENERATOR "TGZ;STGZ")
Expand Down
72 changes: 59 additions & 13 deletions CMakeModules/FindCBLAS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,48 @@ SET(CBLAS_ROOT_DIR CACHE STRING
INCLUDE(CheckTypeSize)
CHECK_TYPE_SIZE("void*" SIZE_OF_VOIDP)

SET(CBLAS_LIB_DIR)
IF (NOT INTEL_MKL_ROOT_DIR)
SET(INTEL_MKL_ROOT_DIR $ENV{INTEL_MKL_ROOT})
ENDIF()

SET(CBLAS_ROOT_DIR "${INTEL_MKL_ROOT_DIR}")
IF(NOT CBLAS_ROOT_DIR)

IF(CBLAS_ROOT_DIR)
IF(INTEL_MKL_ROOT_DIR)
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
SET(CBLAS_LIB_DIR "${INTEL_MKL_ROOT_DIR}/lib/intel64")
ELSE()
SET(CBLAS_LIB_DIR "${INTEL_MKL_ROOT_DIR}/lib/ia32")
ENDIF()
IF (ENV{CBLASDIR})
SET(CBLAS_ROOT_DIR $ENV{CBLASDIR})
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib64")
ELSE()
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
ENDIF()
ENDIF()

IF (ENV{CBLAS_ROOT_DIR})
SET(CBLAS_ROOT_DIR $ENV{CBLAS_ROOT_DIR})
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib64")
ELSE()
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
ENDIF()
SET(CBLAS_INCLUDE_DIR "${INTEL_MKL_ROOT_DIR}/include")
ENDIF()

IF (INTEL_MKL_ROOT_DIR)
SET(CBLAS_ROOT_DIR ${INTEL_MKL_ROOT_DIR})
IF(APPLE)
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib")
ELSE()
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
ENDIF()
ELSE(APPLE) # Windows and Linux
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib/intel64")
ELSE()
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib/ia32")
ENDIF()
ENDIF(APPLE)
ENDIF()

SET(CBLAS_INCLUDE_DIR "${CBLAS_ROOT_DIR}/include")
ENDIF()

# Old CBLAS search
Expand Down Expand Up @@ -116,14 +145,14 @@ MACRO(CHECK_ALL_LIBRARIES
NAMES ${_library}
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64
ENV DYLD_LIBRARY_PATH
"{CBLAS_LIB_DIR}"
"${CBLAS_LIB_DIR}" "${CBLAS_LIB32_DIR}" "${CBLAS_LIB64_DIR}"
)
ELSE(APPLE)
FIND_LIBRARY(${_prefix}_${_library}_LIBRARY
NAMES ${_library}
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64
ENV LD_LIBRARY_PATH
"${CBLAS_LIB_DIR}"
"${CBLAS_LIB_DIR}" "${CBLAS_LIB32_DIR}" "${CBLAS_LIB64_DIR}"
PATH_SUFFIXES atlas
)
IF(NOT ${_prefix}_${library}_LIBRARY)
Expand All @@ -132,7 +161,7 @@ MACRO(CHECK_ALL_LIBRARIES
NAMES ${_library}
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64
ENV LD_LIBRARY_PATH
"${CBLAS_LIB_DIR}"
"${CBLAS_LIB_DIR}" "${CBLAS_LIB32_DIR}" "${CBLAS_LIB64_DIR}"
PATH_SUFFIXES atlas
)
ENDIF(NOT ${_prefix}_${library}_LIBRARY)
Expand Down Expand Up @@ -194,6 +223,23 @@ MACRO(CHECK_ALL_LIBRARIES
ENDIF(NOT _libraries_work)
ENDMACRO(CHECK_ALL_LIBRARIES)

# MKL CBLAS library?
IF(NOT CBLAS_LIBRARIES)
CHECK_ALL_LIBRARIES(
CBLAS_LIBRARIES
CBLAS
cblas_dgemm
""
"mkl_rt"
"mkl_cblas.h"
FALSE,
TRUE)
ENDIF(NOT CBLAS_LIBRARIES)

IF(CBLAS_LIBRARIES)
SET(MKL_FOUND ON)
ENDIF()

# Apple CBLAS library?
IF(NOT CBLAS_LIBRARIES)
CHECK_ALL_LIBRARIES(
Expand Down
29 changes: 24 additions & 5 deletions CMakeModules/FindFFTW.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,25 @@ IF(NOT FFTW_ROOT AND ENV{FFTWDIR})
SET(FFTW_ROOT $ENV{FFTWDIR})
ENDIF()

IF (NOT INTEL_MKL_ROOT_DIR)
SET(INTEL_MKL_ROOT_DIR $ENV{INTEL_MKL_ROOT})
ENDIF()

IF(NOT FFTW_ROOT)

IF (ENV{FFTWDIR})
SET(FFTW_ROOT $ENV{FFTWDIR})
ENDIF()

IF (ENV{FFTW_ROOT_DIR})
SET(FFTW_ROOT $ENV{FFTW_ROOT_DIR})
ENDIF()

IF (INTEL_MKL_ROOT_DIR)
SET(FFTW_ROOT ${INTEL_MKL_ROOT_DIR})
ENDIF()
ENDIF()

# Check if we can use PkgConfig
FIND_PACKAGE(PkgConfig)

Expand All @@ -44,14 +63,14 @@ IF(FFTW_ROOT)
#find libs
FIND_LIBRARY(
FFTW_LIB
NAMES "fftw3" "libfftw3-3" "fftw3-3"
NAMES "fftw3" "libfftw3-3" "fftw3-3" "mkl_rt"
PATHS ${FFTW_ROOT}
PATH_SUFFIXES "lib" "lib64"
NO_DEFAULT_PATH
)
FIND_LIBRARY(
FFTWF_LIB
NAMES "fftw3f" "libfftw3f-3" "fftw3f-3"
NAMES "fftw3f" "libfftw3f-3" "fftw3f-3" "mkl_rt"
PATHS ${FFTW_ROOT}
PATH_SUFFIXES "lib" "lib64"
NO_DEFAULT_PATH
Expand All @@ -62,18 +81,18 @@ IF(FFTW_ROOT)
FFTW_INCLUDES
NAMES "fftw3.h"
PATHS ${FFTW_ROOT}
PATH_SUFFIXES "include"
PATH_SUFFIXES "include" "include/fftw"
NO_DEFAULT_PATH
)
ELSE()
FIND_LIBRARY(
FFTW_LIB
NAMES "fftw3"
NAMES "fftw3" "mkl_rt"
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
)
FIND_LIBRARY(
FFTWF_LIB
NAMES "fftw3f"
NAMES "fftw3f" "mkl_rt"
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
)
FIND_PATH(
Expand Down
2 changes: 0 additions & 2 deletions CMakeModules/FindGLEWmx.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ ELSE (WIN32)
/sw/lib
/opt/local/lib
${GLEW_ROOT_DIR}/lib
NO_DEFAULT_PATH
DOC "The GLEWmx library")

SET(PX ${CMAKE_STATIC_LIBRARY_PREFIX})
Expand All @@ -72,7 +71,6 @@ ELSE (WIN32)
/sw/lib
/opt/local/lib
${GLEW_ROOT_DIR}/lib
NO_DEFAULT_PATH
DOC "The GLEWmx library")
UNSET(PX)
UNSET(SX)
Expand Down
Loading