Skip to content

Commit ebede20

Browse files
committed
Merge tag 'v3.3.1' into hunter
2 parents d521d92 + f53efc3 commit ebede20

104 files changed

Lines changed: 1852 additions & 964 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CITATION.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
If you redistribute ArrayFire, please follow the terms established in
2+
[the license](../LICENSE). If you wish to cite ArrayFire in an academic
3+
publication, please use the following reference:
4+
5+
Formatted:
6+
```
7+
Yalamanchili, P., Arshad, U., Mohammed, Z., Garigipati, P., Entschev, P.,
8+
Kloppenborg, B., Malcolm, J. and Melonakos, J. (2015).
9+
ArrayFire - A high performance software library for parallel computing with an
10+
easy-to-use API. Atlanta: AccelerEyes. Retrieved from https://github.com/arrayfire/arrayfire
11+
```
12+
13+
BibTeX:
14+
```bibtex
15+
@misc{Yalamanchili2015,
16+
abstract = {ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA, OpenCL and native CPU) make it platform independent and highly portable. A few lines of code in ArrayFire can replace dozens of lines of parallel computing code, saving you valuable time and lowering development costs.},
17+
address = {Atlanta},
18+
author = {Yalamanchili, Pavan and Arshad, Umar and Mohammed, Zakiuddin and Garigipati, Pradeep and Entschev, Peter and Kloppenborg, Brian and Malcolm, James and Melonakos, John},
19+
publisher = {AccelerEyes},
20+
title = {{ArrayFire - A high performance software library for parallel computing with an easy-to-use API}},
21+
url = {https://github.com/arrayfire/arrayfire},
22+
year = {2015}
23+
}
24+
```

CMakeModules/FindCBLAS.cmake

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,28 +62,36 @@ IF(NOT CBLAS_ROOT_DIR)
6262
IF (ENV{CBLASDIR})
6363
SET(CBLAS_ROOT_DIR $ENV{CBLASDIR})
6464
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
65-
SET(CBLAS_LIB64_DIR "${INTEL_MKL_ROOT_DIR}/lib64")
65+
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib64")
6666
ELSE()
67-
SET(CBLAS_LIB32_DIR "${INTEL_MKL_ROOT_DIR}/lib")
67+
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
6868
ENDIF()
6969
ENDIF()
7070

7171
IF (ENV{CBLAS_ROOT_DIR})
7272
SET(CBLAS_ROOT_DIR $ENV{CBLAS_ROOT_DIR})
7373
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
74-
SET(CBLAS_LIB64_DIR "${INTEL_MKL_ROOT_DIR}/lib64")
74+
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib64")
7575
ELSE()
76-
SET(CBLAS_LIB32_DIR "${INTEL_MKL_ROOT_DIR}/lib")
76+
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
7777
ENDIF()
7878
ENDIF()
7979

8080
IF (INTEL_MKL_ROOT_DIR)
8181
SET(CBLAS_ROOT_DIR ${INTEL_MKL_ROOT_DIR})
82-
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
83-
SET(CBLAS_LIB64_DIR "${INTEL_MKL_ROOT_DIR}/lib/intel64")
84-
ELSE()
85-
SET(CBLAS_LIB32_DIR "${INTEL_MKL_ROOT_DIR}/lib/ia32")
86-
ENDIF()
82+
IF(APPLE)
83+
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
84+
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib")
85+
ELSE()
86+
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib")
87+
ENDIF()
88+
ELSE(APPLE) # Windows and Linux
89+
IF ("${SIZE_OF_VOIDP}" EQUAL 8)
90+
SET(CBLAS_LIB64_DIR "${CBLAS_ROOT_DIR}/lib/intel64")
91+
ELSE()
92+
SET(CBLAS_LIB32_DIR "${CBLAS_ROOT_DIR}/lib/ia32")
93+
ENDIF()
94+
ENDIF(APPLE)
8795
ENDIF()
8896

8997
SET(CBLAS_INCLUDE_DIR "${CBLAS_ROOT_DIR}/include")
@@ -101,7 +109,7 @@ MACRO(CHECK_ALL_LIBRARIES
101109
_flags
102110
_list
103111
_include
104-
_search_include,
112+
_search_include
105113
_libraries_work_check)
106114
# This macro checks for the existence of the combination of fortran libraries
107115
# given by _list. If the combination is found, this macro checks (using the
@@ -160,11 +168,6 @@ MACRO(CHECK_ALL_LIBRARIES
160168
ENDIF(APPLE)
161169
MARK_AS_ADVANCED(${_prefix}_${_library}_LIBRARY)
162170

163-
IF(${_prefix}_${_library}_LIBRARY)
164-
GET_FILENAME_COMPONENT(_path ${${_prefix}_${_library}_LIBRARY} PATH)
165-
LIST(APPEND _paths ${_path}/../include ${_path}/../../include ${CBLAS_ROOT_DIR}/include)
166-
ENDIF(${_prefix}_${_library}_LIBRARY)
167-
168171
SET(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
169172
SET(_libraries_work ${${_prefix}_${_library}_LIBRARY})
170173
ENDIF(_libraries_work)
@@ -175,8 +178,17 @@ MACRO(CHECK_ALL_LIBRARIES
175178
SET(_bug_libraries_work_check ${_libraries_work_check}) #CMAKE BUG!!! SHOULD NOT BE THAT
176179

177180
IF(_bug_search_include)
178-
FIND_PATH(${_prefix}${_combined_name}_INCLUDE ${_include} ${_paths})
181+
FIND_PATH(${_prefix}${_combined_name}_INCLUDE ${_include}
182+
/opt/intel/mkl/include
183+
/usr/include
184+
/usr/local/include
185+
/sw/include
186+
/opt/local/include
187+
PATH_SUFFIXES
188+
openblas
189+
)
179190
MARK_AS_ADVANCED(${_prefix}${_combined_name}_INCLUDE)
191+
180192
IF(${_prefix}${_combined_name}_INCLUDE)
181193
IF (_verbose)
182194
MESSAGE(STATUS "Includes found")
@@ -186,6 +198,7 @@ MACRO(CHECK_ALL_LIBRARIES
186198
ELSE(${_prefix}${_combined_name}_INCLUDE)
187199
SET(_libraries_work FALSE)
188200
ENDIF(${_prefix}${_combined_name}_INCLUDE)
201+
189202
ELSE(_bug_search_include)
190203
SET(${_prefix}_INCLUDE_DIR)
191204
SET(${_prefix}_INCLUDE_FILE ${_include})

CMakeModules/FindFFTW.cmake

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,25 @@ IF(NOT FFTW_ROOT AND ENV{FFTWDIR})
2424
SET(FFTW_ROOT $ENV{FFTWDIR})
2525
ENDIF()
2626

27+
IF (NOT INTEL_MKL_ROOT_DIR)
28+
SET(INTEL_MKL_ROOT_DIR $ENV{INTEL_MKL_ROOT})
29+
ENDIF()
30+
31+
IF(NOT FFTW_ROOT)
32+
33+
IF (ENV{FFTWDIR})
34+
SET(FFTW_ROOT $ENV{FFTWDIR})
35+
ENDIF()
36+
37+
IF (ENV{FFTW_ROOT_DIR})
38+
SET(FFTW_ROOT $ENV{FFTW_ROOT_DIR})
39+
ENDIF()
40+
41+
IF (INTEL_MKL_ROOT_DIR)
42+
SET(FFTW_ROOT ${INTEL_MKL_ROOT_DIR})
43+
ENDIF()
44+
ENDIF()
45+
2746
# Check if we can use PkgConfig
2847
FIND_PACKAGE(PkgConfig)
2948

@@ -44,14 +63,14 @@ IF(FFTW_ROOT)
4463
#find libs
4564
FIND_LIBRARY(
4665
FFTW_LIB
47-
NAMES "fftw3" "libfftw3-3" "fftw3-3"
66+
NAMES "fftw3" "libfftw3-3" "fftw3-3" "mkl_rt"
4867
PATHS ${FFTW_ROOT}
4968
PATH_SUFFIXES "lib" "lib64"
5069
NO_DEFAULT_PATH
5170
)
5271
FIND_LIBRARY(
5372
FFTWF_LIB
54-
NAMES "fftw3f" "libfftw3f-3" "fftw3f-3"
73+
NAMES "fftw3f" "libfftw3f-3" "fftw3f-3" "mkl_rt"
5574
PATHS ${FFTW_ROOT}
5675
PATH_SUFFIXES "lib" "lib64"
5776
NO_DEFAULT_PATH
@@ -62,18 +81,18 @@ IF(FFTW_ROOT)
6281
FFTW_INCLUDES
6382
NAMES "fftw3.h"
6483
PATHS ${FFTW_ROOT}
65-
PATH_SUFFIXES "include"
84+
PATH_SUFFIXES "include" "include/fftw"
6685
NO_DEFAULT_PATH
6786
)
6887
ELSE()
6988
FIND_LIBRARY(
7089
FFTW_LIB
71-
NAMES "fftw3"
90+
NAMES "fftw3" "mkl_rt"
7291
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
7392
)
7493
FIND_LIBRARY(
7594
FFTWF_LIB
76-
NAMES "fftw3f"
95+
NAMES "fftw3f" "mkl_rt"
7796
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
7897
)
7998
FIND_PATH(

CMakeModules/FindGLEWmx.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ ELSE (WIN32)
5555
/sw/lib
5656
/opt/local/lib
5757
${GLEW_ROOT_DIR}/lib
58-
NO_DEFAULT_PATH
5958
DOC "The GLEWmx library")
6059

6160
SET(PX ${CMAKE_STATIC_LIBRARY_PREFIX})
@@ -72,7 +71,6 @@ ELSE (WIN32)
7271
/sw/lib
7372
/opt/local/lib
7473
${GLEW_ROOT_DIR}/lib
75-
NO_DEFAULT_PATH
7674
DOC "The GLEWmx library")
7775
UNSET(PX)
7876
UNSET(SX)

CMakeModules/FindLAPACKE.cmake

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,18 @@ ELSE(PC_LAPACKE_FOUND)
137137
/sw/include
138138
/opt/local/include
139139
DOC "LAPACKE Include Directory"
140+
PATH_SUFFIXES
141+
lapacke
140142
)
141143
ENDIF(LAPACKE_ROOT_DIR)
142144
ENDIF(PC_LAPACKE_FOUND)
143145

144-
SET(LAPACK_LIBRARIES ${LAPACKE_LIB} ${LAPACK_LIB})
145-
SET(LAPACK_INCLUDE_DIR ${LAPACKE_INCLUDES})
146+
IF(LAPACKE_LIB AND LAPACK_LIB)
147+
SET(LAPACK_LIBRARIES ${LAPACKE_LIB} ${LAPACK_LIB})
148+
ENDIF()
149+
IF(LAPACKE_INCLUDES)
150+
SET(LAPACK_INCLUDE_DIR ${LAPACKE_INCLUDES})
151+
ENDIF()
146152

147153
INCLUDE(FindPackageHandleStandardArgs)
148154
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LAPACK DEFAULT_MSG

CMakeModules/Version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
SET(AF_VERSION_MAJOR "3")
55
SET(AF_VERSION_MINOR "3")
6-
SET(AF_VERSION_PATCH "0")
6+
SET(AF_VERSION_PATCH "1")
77

88
SET(AF_VERSION "${AF_VERSION_MAJOR}.${AF_VERSION_MINOR}.${AF_VERSION_PATCH}")
99
SET(AF_API_VERSION_CURRENT ${AF_VERSION_MAJOR}${AF_VERSION_MINOR})

CMakeModules/build_clFFT.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ENDIF()
1414
ExternalProject_Add(
1515
clFFT-ext
1616
GIT_REPOSITORY https://github.com/arrayfire/clFFT.git
17-
GIT_TAG arrayfire-release-test
17+
GIT_TAG af3.3.1
1818
PREFIX "${prefix}"
1919
INSTALL_DIR "${prefix}"
2020
UPDATE_COMMAND ""

0 commit comments

Comments
 (0)