My favorites | Sign in
Project Home Downloads Source
Checkout   Browse   Changes  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# this module look for lapack/blas and other numerical library support
# it will define the following values
# Since lapack and blas are essential, link_liraries are called.

set(LAPACK_FOUND FALSE)
set(BLAS_FOUND FALSE)
set(MKL_FOUND FALSE)
#
#IF(NOT CMAKE_COMPILER_IS_GNUCXX)

if(${CMAKE_C_COMPILER} MATCHES "icc")
# Intel composer has everything,
if($ENV{MKLROOT} MATCHES "composer")
include_directories($ENV{MKLROOT}/include)
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
link_libraries(-L$ENV{MKLROOT}/lib/intel64 -mkl=sequential)
else()
link_libraries(-L$ENV{MKLROOT}/lib/ia32 -mkl=sequential)
endif()
set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
set(MKL_FOUND TRUE)
set(HAVE_MKL TRUE)
set(HAVE_MKL_VML TRUE)
else()

set(mkl_home "")

if($ENV{MKLROOT} MATCHES "mkl")
set(mkl_home $ENV{MKLROOT})
else()
if($ENV{MKL_HOME} MATCHES "mkl")
set(mkl_home $ENV{MKL_HOME})
endif()
endif()

if(mkl_home MATCHES "mkl")

#default MKL libraries
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MKL_VERSION ${mkl_home})

if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
if(${MKL_VERSION} MATCHES "10\\.3\\.[0-4]")
link_libraries(-L${mkl_home}/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm)
else()
if(${MKL_VERSION} MATCHES "10\\.[0-2]\\.[0-4]")
link_libraries(-L${mkl_home}/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm)
else()
link_libraries(-L${mkl_home}/lib/em64t -lmkl_lapack -lmkl -lguide)
endif()
endif()
endif()

if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386")
if(${MKL_VERSION} MATCHES "10\\.[0-3]\\.[0-4]")
link_libraries(-L${mkl_home}/lib/ia32 -lmkl_intel -lmkl_sequential -lmkl_core -lpthread -lm)
else()
link_libraries(-L${mkl_home}/lib/ia32 -lmkl_lapack -lmkl -lguide)
endif()
endif()

if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ia64")
link_libraries(-L${mkl_home}/lib/64 -lmkl_lapack -lmkl -lguide)
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ia64")

set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
set(MKL_FOUND TRUE)

FIND_PATH(MKL_INCLUDE_DIR mkl.h ${mkl_home}/include)
if(MKL_INCLUDE_DIR)
MESSAGE(STATUS "Header files of MKL libraries are found at " ${MKL_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${MKL_INCLUDE_DIR})
set(HAVE_MKL TRUE)
find_file(mkl_vml_file mkl_vml.h ${mkl_home}/include)
if(mkl_vml_file)
set(HAVE_MKL_VML TRUE)
endif(mkl_vml_file)
endif(MKL_INCLUDE_DIR)

endif()
endif()
else()

if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -framework vecLib")
SET(LAPACK_LIBRARY_INIT 1 CACHE BOOL "use Mac Framework")
SET(MAC_VECLIB 1 CACHE BOOL "use Mac Framework")
MESSAGE(STATUS "Using Framework on Darwin.")
set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

if(${CMAKE_SYSTEM_NAME} MATCHES "AIX")
link_libraries(-lessl -lmass -lmassv)
set(BLAS_FOUND TRUE)
endif(${CMAKE_SYSTEM_NAME} MATCHES "AIX")

if($ENV{LAPACK} MATCHES "lapack")
link_libraries($ENV{LAPACK})
set(LAPACK_FOUND TRUE)
endif($ENV{LAPACK} MATCHES "lapack")

IF($ENV{ATLAS} MATCHES "atlas")
# COULD SEARCH THESE but.....
set(atlas_libs "lapack;f77blas;cblas;atlas")
set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
link_libraries($ENV{ATLAS})
endif($ENV{ATLAS} MATCHES "atlas")

endif()

if(LAPACK_FOUND AND BLAS_FOUND)
MESSAGE(STATUS "LAPACK and BLAS libraries are linked to all the applications")
else(LAPACK_FOUND AND BLAS_FOUND)
MESSAGE(STATUS "Failed to link LAPACK, BLAS, ATLAS libraries with environments. Going to search standard paths.")
find_library(LAPACK_LIBRARIES lapack)
find_library(BLAS_LIBRARIES blas)
if(LAPACK_LIBRARIES AND BLAS_LIBRARIES)
MESSAGE(STATUS "LAPACK_LIBRARIES=${LAPACK_LIBRARIES}")
MESSAGE(STATUS "BLAS_LIBRARIES=${BLAS_LIBRARIES}")
link_libraries(${LAPACK_LIBRARIES} ${BLAS_LIBRARIES})
set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
endif(LAPACK_LIBRARIES AND BLAS_LIBRARIES)
endif(LAPACK_FOUND AND BLAS_FOUND)

#MARK_AS_ADVANCED(
# LAPACK_LIBRARIES
# BLAS_LIBRARIES
# )
#IF(USE_SCALAPACK)
# SET(PNPATHS
# ${MKL_PATHS}
# ${BLACS_HOME}/lib
# ${SCALAPACK_HOME}/lib
# /usr/lib
# /opt/lib
# /usr/local/lib
# /sw/lib
# )
#
# IF(INTEL_MKL)
# FIND_LIBRARY(BLACSLIB mkl_blacs_${PLAT}_lp${QMC_BITS} PATHS ${PNPATHS})
# FIND_LIBRARY(SCALAPACKLIB mkl_scalapack PATHS ${PNPATHS})
# ENDIF(INTEL_MKL)
#
# IF(NOT SCALAPACKLIB)
# FIND_LIBRARY(BLACSLIB blacs_MPI-${PLAT}-{BLACSDBGLVL} PATHS ${PNPATHS})
# FIND_LIBRARY(BLACSCINIT blacsCinit_MPI-${PLAT}-{BLACSDBGLVL} PATHS ${PNPATHS})
# FIND_LIBRARY(SCALAPACKLIB scalapack PATHS ${PNPATHS})
# ENDIF(NOT SCALAPACKLIB)
#
# IF(BLACSLIB AND SCALAPACKLIB)
# SET(FOUND_SCALAPACK 1 CACHE BOOL "Found scalapack library")
# ELSE(BLACSLIB AND SCALAPACKLIB)
# SET(FOUND_SCALAPACK 0 CACHE BOOL "Mising scalapack library")
# ENDIF(BLACSLIB AND SCALAPACKLIB)
#
# MARK_AS_ADVANCED(
# BLACSCINIT
# BLACSLIB
# SCALAPACKLIB
# FOUND_SCALAPACK
# )
#ENDIF(USE_SCALAPACK)

Change log

r5383 by jeongnim.kim on Jul 17, 2012   Diff
Merge dev/qmcpack_1.0_2012 branch
Go to: 
Project members, sign in to write a code review

Older revisions

r5038 by miguel.mmorales on Nov 9, 2010   Diff
small bug fix to VMCLinearOptOMP,
added option to disable the use of
buffers in optm of CI coeffs
r4744 by jeongnim.kim on Apr 12, 2010   Diff
Update.
r4735 by jeongnim.kim on Mar 29, 2010   Diff
Use MKL to link MKL library. See wiki.
All revisions of this file

File info

Size: 5376 bytes, 168 lines

File properties

svn:executable
*
svn:eol-style
native
svn:keywords
Author Date Id Revision
Powered by Google Project Hosting