Initial snapshot: hand motion pipeline (Dyn-HaMR + dex-retargeting + SPIDER)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+107
@@ -0,0 +1,107 @@
|
||||
project(BTL)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6.2)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${Eigen_SOURCE_DIR}/cmake)
|
||||
include(MacroOptionalAddSubdirectory)
|
||||
|
||||
option(BTL_NOVEC "Disable SSE/Altivec optimizations when possible" OFF)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
string(REGEX MATCH icpc IS_ICPC ${CMAKE_CXX_COMPILER})
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC)
|
||||
set(CMAKE_CXX_FLAGS "-g0 -O3 -DNDEBUG ${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG ${CMAKE_Fortran_FLAGS}")
|
||||
if(BTL_NOVEC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE")
|
||||
endif(BTL_NOVEC)
|
||||
endif(CMAKE_COMPILER_IS_GNUCXX OR IS_ICPC)
|
||||
|
||||
if(MSVC)
|
||||
set(CMAKE_CXX_FLAGS " /O2 /Ot /GL /fp:fast -DNDEBUG")
|
||||
# set(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG")
|
||||
if(BTL_NOVEC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE")
|
||||
endif(BTL_NOVEC)
|
||||
endif(MSVC)
|
||||
|
||||
if(IS_ICPC)
|
||||
set(CMAKE_CXX_FLAGS "-fast ${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_Fortran_FLAGS "-fast ${CMAKE_Fortran_FLAGS}")
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${PROJECT_SOURCE_DIR}/actions
|
||||
${PROJECT_SOURCE_DIR}/generic_bench
|
||||
${PROJECT_SOURCE_DIR}/generic_bench/utils
|
||||
${PROJECT_SOURCE_DIR}/libs/STL)
|
||||
|
||||
# find_package(MKL)
|
||||
# if (MKL_FOUND)
|
||||
# add_definitions(-DHAVE_MKL)
|
||||
# set(DEFAULT_LIBRARIES ${MKL_LIBRARIES})
|
||||
# endif ()
|
||||
|
||||
find_library(EIGEN_BTL_RT_LIBRARY rt)
|
||||
# if we cannot find it easily, then we don't need it!
|
||||
if(NOT EIGEN_BTL_RT_LIBRARY)
|
||||
set(EIGEN_BTL_RT_LIBRARY "")
|
||||
endif()
|
||||
|
||||
macro(BTL_ADD_BENCH targetname)
|
||||
|
||||
foreach(_current_var ${ARGN})
|
||||
set(_last_var ${_current_var})
|
||||
endforeach()
|
||||
|
||||
set(_sources ${ARGN})
|
||||
list(LENGTH _sources _argn_length)
|
||||
|
||||
list(REMOVE_ITEM _sources ON OFF TRUE FALSE)
|
||||
|
||||
list(LENGTH _sources _src_length)
|
||||
|
||||
if (${_argn_length} EQUAL ${_src_length})
|
||||
set(_last_var ON)
|
||||
endif ()
|
||||
|
||||
option(BUILD_${targetname} "Build benchmark ${targetname}" ${_last_var})
|
||||
|
||||
if(BUILD_${targetname})
|
||||
add_executable(${targetname} ${_sources})
|
||||
add_test(${targetname} "${targetname}")
|
||||
target_link_libraries(${targetname} ${DEFAULT_LIBRARIES} ${EIGEN_BTL_RT_LIBRARY})
|
||||
endif(BUILD_${targetname})
|
||||
|
||||
endmacro(BTL_ADD_BENCH)
|
||||
|
||||
macro(btl_add_target_property target prop value)
|
||||
|
||||
if(BUILD_${target})
|
||||
get_target_property(previous ${target} ${prop})
|
||||
if(NOT previous)
|
||||
set(previous "")
|
||||
endif()
|
||||
set_target_properties(${target} PROPERTIES ${prop} "${previous} ${value}")
|
||||
endif()
|
||||
|
||||
endmacro()
|
||||
|
||||
enable_testing()
|
||||
|
||||
add_subdirectory(libs/eigen3)
|
||||
add_subdirectory(libs/eigen2)
|
||||
add_subdirectory(libs/tensors)
|
||||
add_subdirectory(libs/BLAS)
|
||||
add_subdirectory(libs/ublas)
|
||||
add_subdirectory(libs/gmm)
|
||||
add_subdirectory(libs/mtl4)
|
||||
add_subdirectory(libs/blitz)
|
||||
add_subdirectory(libs/tvmet)
|
||||
add_subdirectory(libs/STL)
|
||||
add_subdirectory(libs/blaze)
|
||||
|
||||
add_subdirectory(data)
|
||||
|
||||
|
||||
+340
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
Vendored
+51
@@ -0,0 +1,51 @@
|
||||
|
||||
if (ACML_LIBRARIES)
|
||||
set(ACML_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_library(ACML_LIBRARIES
|
||||
NAMES
|
||||
acml_mp acml_mv
|
||||
PATHS
|
||||
$ENV{ACMLDIR}/lib
|
||||
$ENV{ACML_DIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_file(ACML_LIBRARIES
|
||||
NAMES
|
||||
libacml_mp.so
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
$ENV{ACMLDIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
if(NOT ACML_LIBRARIES)
|
||||
message(STATUS "Multi-threaded library not found, looking for single-threaded")
|
||||
find_library(ACML_LIBRARIES
|
||||
NAMES
|
||||
acml acml_mv
|
||||
PATHS
|
||||
$ENV{ACMLDIR}/lib
|
||||
$ENV{ACML_DIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
find_file(ACML_LIBRARIES
|
||||
libacml.so libacml_mv.so
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
$ENV{ACMLDIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ACML DEFAULT_MSG ACML_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ACML_LIBRARIES)
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
|
||||
if (ATLAS_LIBRARIES)
|
||||
set(ATLAS_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_file(ATLAS_LIB libatlas.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
find_library(ATLAS_LIB satlas PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
find_file(ATLAS_LAPACK NAMES liblapack_atlas.so.3 liblapack.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
find_library(ATLAS_LAPACK NAMES lapack_atlas lapack PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
find_file(ATLAS_F77BLAS libf77blas.so.3 PATHS /usr/lib /usr/lib/atlas /usr/lib64 /usr/lib64/atlas $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
find_library(ATLAS_F77BLAS f77blas PATHS $ENV{ATLASDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
if(ATLAS_LIB AND ATLAS_CBLAS AND ATLAS_LAPACK AND ATLAS_F77BLAS)
|
||||
|
||||
set(ATLAS_LIBRARIES ${ATLAS_LAPACK} ${ATLAS_LIB})
|
||||
|
||||
# search the default lapack lib link to it
|
||||
find_file(ATLAS_REFERENCE_LAPACK liblapack.so.3 PATHS /usr/lib /usr/lib64)
|
||||
find_library(ATLAS_REFERENCE_LAPACK NAMES lapack)
|
||||
# if(ATLAS_REFERENCE_LAPACK)
|
||||
# set(ATLAS_LIBRARIES ${ATLAS_LIBRARIES} ${ATLAS_REFERENCE_LAPACK})
|
||||
# endif()
|
||||
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ATLAS DEFAULT_MSG ATLAS_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ATLAS_LIBRARIES)
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
# - Try to find eigen2 headers
|
||||
# Once done this will define
|
||||
#
|
||||
# BLAZE_FOUND - system has blaze lib
|
||||
# BLAZE_INCLUDE_DIR - the blaze include directory
|
||||
#
|
||||
# Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
# Adapted from FindEigen.cmake:
|
||||
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if (BLAZE_INCLUDE_DIR)
|
||||
|
||||
# in cache already
|
||||
set(BLAZE_FOUND TRUE)
|
||||
|
||||
else ()
|
||||
|
||||
find_path(BLAZE_INCLUDE_DIR NAMES blaze/Blaze.h
|
||||
PATHS
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(BLAZE DEFAULT_MSG BLAZE_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(BLAZE_INCLUDE_DIR)
|
||||
|
||||
endif()
|
||||
|
||||
Vendored
+40
@@ -0,0 +1,40 @@
|
||||
# - Try to find blitz lib
|
||||
# Once done this will define
|
||||
#
|
||||
# BLITZ_FOUND - system has blitz lib
|
||||
# BLITZ_INCLUDES - the blitz include directory
|
||||
# BLITZ_LIBRARIES - The libraries needed to use blitz
|
||||
|
||||
# Copyright (c) 2006, Montel Laurent, <montel@kde.org>
|
||||
# Copyright (c) 2007, Allen Winter, <winter@kde.org>
|
||||
# Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
# include(FindLibraryWithDebug)
|
||||
|
||||
if (BLITZ_INCLUDES AND BLITZ_LIBRARIES)
|
||||
set(Blitz_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_path(BLITZ_INCLUDES
|
||||
NAMES
|
||||
blitz/array.h
|
||||
PATH_SUFFIXES blitz*
|
||||
PATHS
|
||||
$ENV{BLITZDIR}/include
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(BLITZ_LIBRARIES
|
||||
blitz
|
||||
PATHS
|
||||
$ENV{BLITZDIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Blitz DEFAULT_MSG
|
||||
BLITZ_INCLUDES BLITZ_LIBRARIES)
|
||||
|
||||
mark_as_advanced(BLITZ_INCLUDES BLITZ_LIBRARIES)
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
# include(FindLibraryWithDebug)
|
||||
|
||||
if (CBLAS_INCLUDES AND CBLAS_LIBRARIES)
|
||||
set(CBLAS_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_path(CBLAS_INCLUDES
|
||||
NAMES
|
||||
cblas.h
|
||||
PATHS
|
||||
$ENV{CBLASDIR}/include
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(CBLAS_LIBRARIES
|
||||
cblas
|
||||
PATHS
|
||||
$ENV{CBLASDIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_file(CBLAS_LIBRARIES
|
||||
libcblas.so.3
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
$ENV{CBLASDIR}/lib
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(CBLAS DEFAULT_MSG
|
||||
CBLAS_INCLUDES CBLAS_LIBRARIES)
|
||||
|
||||
mark_as_advanced(CBLAS_INCLUDES CBLAS_LIBRARIES)
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
if (GMM_INCLUDE_DIR)
|
||||
# in cache already
|
||||
set(GMM_FOUND TRUE)
|
||||
else ()
|
||||
|
||||
find_path(GMM_INCLUDE_DIR NAMES gmm/gmm.h
|
||||
PATHS
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
${GMM_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMM DEFAULT_MSG GMM_INCLUDE_DIR )
|
||||
|
||||
mark_as_advanced(GMM_INCLUDE_DIR)
|
||||
|
||||
endif()
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
|
||||
if (MKL_LIBRARIES)
|
||||
set(MKL_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
if(CMAKE_MINOR_VERSION GREATER 4)
|
||||
|
||||
if(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
|
||||
|
||||
find_library(MKL_LIBRARIES
|
||||
mkl_core
|
||||
PATHS
|
||||
$ENV{MKLLIB}
|
||||
/opt/intel/mkl/*/lib/em64t
|
||||
/opt/intel/Compiler/*/*/mkl/lib/em64t
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(MKL_GUIDE
|
||||
guide
|
||||
PATHS
|
||||
$ENV{MKLLIB}
|
||||
/opt/intel/mkl/*/lib/em64t
|
||||
/opt/intel/Compiler/*/*/mkl/lib/em64t
|
||||
/opt/intel/Compiler/*/*/lib/intel64
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
if(MKL_LIBRARIES AND MKL_GUIDE)
|
||||
set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel_lp64 mkl_sequential ${MKL_GUIDE} pthread)
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
||||
find_library(MKL_LIBRARIES
|
||||
mkl_core
|
||||
PATHS
|
||||
$ENV{MKLLIB}
|
||||
/opt/intel/mkl/*/lib/32
|
||||
/opt/intel/Compiler/*/*/mkl/lib/32
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
find_library(MKL_GUIDE
|
||||
guide
|
||||
PATHS
|
||||
$ENV{MKLLIB}
|
||||
/opt/intel/mkl/*/lib/32
|
||||
/opt/intel/Compiler/*/*/mkl/lib/32
|
||||
/opt/intel/Compiler/*/*/lib/intel32
|
||||
${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
if(MKL_LIBRARIES AND MKL_GUIDE)
|
||||
set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel mkl_sequential ${MKL_GUIDE} pthread)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARIES)
|
||||
|
||||
mark_as_advanced(MKL_LIBRARIES)
|
||||
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
# - Try to find eigen2 headers
|
||||
# Once done this will define
|
||||
#
|
||||
# MTL4_FOUND - system has eigen2 lib
|
||||
# MTL4_INCLUDE_DIR - the eigen2 include directory
|
||||
#
|
||||
# Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
# Adapted from FindEigen.cmake:
|
||||
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if (MTL4_INCLUDE_DIR)
|
||||
|
||||
# in cache already
|
||||
set(MTL4_FOUND TRUE)
|
||||
|
||||
else ()
|
||||
|
||||
find_path(MTL4_INCLUDE_DIR NAMES boost/numeric/mtl/mtl.hpp
|
||||
PATHS
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(MTL4 DEFAULT_MSG MTL4_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(MTL4_INCLUDE_DIR)
|
||||
|
||||
endif()
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
|
||||
if (OPENBLAS_LIBRARIES)
|
||||
set(OPENBLAS_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
find_file(OPENBLAS_LIBRARIES NAMES libopenblas.so libopenblas.so.0 PATHS /usr/lib /usr/lib64 $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
|
||||
find_library(OPENBLAS_LIBRARIES openblas PATHS $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
|
||||
|
||||
if(OPENBLAS_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(OPENBLAS_LIBRARIES ${OPENBLAS_LIBRARIES} "-lpthread -lgfortran")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(OPENBLAS DEFAULT_MSG
|
||||
OPENBLAS_LIBRARIES)
|
||||
|
||||
mark_as_advanced(OPENBLAS_LIBRARIES)
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|"Custom failure message") VAR1 ... )
|
||||
#
|
||||
# This macro is intended to be used in FindXXX.cmake modules files.
|
||||
# It handles the REQUIRED and QUIET argument to find_package() and
|
||||
# it also sets the <UPPERCASED_NAME>_FOUND variable.
|
||||
# The package is found if all variables listed are TRUE.
|
||||
# Example:
|
||||
#
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
|
||||
#
|
||||
# LibXml2 is considered to be found, if both LIBXML2_LIBRARIES and
|
||||
# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
|
||||
# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
|
||||
# independent whether QUIET was used or not.
|
||||
#
|
||||
# If it is found, the location is reported using the VAR1 argument, so
|
||||
# here a message "Found LibXml2: /usr/lib/libxml2.so" will be printed out.
|
||||
# If the second argument is DEFAULT_MSG, the message in the failure case will
|
||||
# be "Could NOT find LibXml2", if you don't like this message you can specify
|
||||
# your own custom failure message there.
|
||||
|
||||
macro(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
|
||||
|
||||
if("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
|
||||
if (${_NAME}_FIND_REQUIRED)
|
||||
set(_FAIL_MESSAGE "Could not find REQUIRED package ${_NAME}")
|
||||
else (${_NAME}_FIND_REQUIRED)
|
||||
set(_FAIL_MESSAGE "Could not find OPTIONAL package ${_NAME}")
|
||||
endif (${_NAME}_FIND_REQUIRED)
|
||||
else("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
|
||||
set(_FAIL_MESSAGE "${_FAIL_MSG}")
|
||||
endif("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
|
||||
|
||||
string(TOUPPER ${_NAME} _NAME_UPPER)
|
||||
|
||||
set(${_NAME_UPPER}_FOUND TRUE)
|
||||
if(NOT ${_VAR1})
|
||||
set(${_NAME_UPPER}_FOUND FALSE)
|
||||
endif(NOT ${_VAR1})
|
||||
|
||||
foreach(_CURRENT_VAR ${ARGN})
|
||||
if(NOT ${_CURRENT_VAR})
|
||||
set(${_NAME_UPPER}_FOUND FALSE)
|
||||
endif(NOT ${_CURRENT_VAR})
|
||||
endforeach(_CURRENT_VAR)
|
||||
|
||||
if (${_NAME_UPPER}_FOUND)
|
||||
if (NOT ${_NAME}_FIND_QUIETLY)
|
||||
message(STATUS "Found ${_NAME}: ${${_VAR1}}")
|
||||
endif (NOT ${_NAME}_FIND_QUIETLY)
|
||||
else (${_NAME_UPPER}_FOUND)
|
||||
if (${_NAME}_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "${_FAIL_MESSAGE}")
|
||||
else (${_NAME}_FIND_REQUIRED)
|
||||
if (NOT ${_NAME}_FIND_QUIETLY)
|
||||
message(STATUS "${_FAIL_MESSAGE}")
|
||||
endif (NOT ${_NAME}_FIND_QUIETLY)
|
||||
endif (${_NAME}_FIND_REQUIRED)
|
||||
endif (${_NAME_UPPER}_FOUND)
|
||||
endmacro(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
# - Try to find tvmet headers
|
||||
# Once done this will define
|
||||
#
|
||||
# TVMET_FOUND - system has tvmet lib
|
||||
# TVMET_INCLUDE_DIR - the tvmet include directory
|
||||
#
|
||||
# Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
# Adapted from FindEigen.cmake:
|
||||
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if (TVMET_INCLUDE_DIR)
|
||||
|
||||
# in cache already
|
||||
set(TVMET_FOUND TRUE)
|
||||
|
||||
else ()
|
||||
|
||||
find_path(TVMET_INCLUDE_DIR NAMES tvmet/tvmet.h
|
||||
PATHS
|
||||
${TVMETDIR}/
|
||||
${INCLUDE_INSTALL_DIR}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Tvmet DEFAULT_MSG TVMET_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(TVMET_INCLUDE_DIR)
|
||||
|
||||
endif()
|
||||
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
# - MACRO_OPTIONAL_ADD_SUBDIRECTORY() combines add_subdirectory() with an option()
|
||||
# MACRO_OPTIONAL_ADD_SUBDIRECTORY( <dir> )
|
||||
# If you use MACRO_OPTIONAL_ADD_SUBDIRECTORY() instead of add_subdirectory(),
|
||||
# this will have two effects
|
||||
# 1 - CMake will not complain if the directory doesn't exist
|
||||
# This makes sense if you want to distribute just one of the subdirs
|
||||
# in a source package, e.g. just one of the subdirs in kdeextragear.
|
||||
# 2 - If the directory exists, it will offer an option to skip the
|
||||
# subdirectory.
|
||||
# This is useful if you want to compile only a subset of all
|
||||
# directories.
|
||||
|
||||
# Copyright (c) 2007, Alexander Neundorf, <neundorf@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
macro (MACRO_OPTIONAL_ADD_SUBDIRECTORY _dir )
|
||||
get_filename_component(_fullPath ${_dir} ABSOLUTE)
|
||||
if(EXISTS ${_fullPath})
|
||||
if(${ARGC} EQUAL 2)
|
||||
option(BUILD_${_dir} "Build directory ${_dir}" ${ARGV1})
|
||||
else(${ARGC} EQUAL 2)
|
||||
option(BUILD_${_dir} "Build directory ${_dir}" TRUE)
|
||||
endif(${ARGC} EQUAL 2)
|
||||
if(BUILD_${_dir})
|
||||
add_subdirectory(${_dir})
|
||||
endif(BUILD_${_dir})
|
||||
endif(EXISTS ${_fullPath})
|
||||
endmacro (MACRO_OPTIONAL_ADD_SUBDIRECTORY)
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
//=============================================================================
|
||||
// File : utilities.h
|
||||
// Created : mar jun 19 13:18:14 CEST 2001
|
||||
// Author : Antoine YESSAYAN, Paul RASCLE, EDF
|
||||
// Project : SALOME
|
||||
// Copyright : EDF 2001
|
||||
// $Header$
|
||||
//=============================================================================
|
||||
|
||||
/* --- Definition macros file to print information if _DEBUG_ is defined --- */
|
||||
|
||||
# ifndef UTILITIES_H
|
||||
# define UTILITIES_H
|
||||
|
||||
# include <stdlib.h>
|
||||
//# include <iostream> ok for gcc3.01
|
||||
# include <iostream>
|
||||
|
||||
/* --- INFOS is always defined (without _DEBUG_): to be used for warnings, with release version --- */
|
||||
|
||||
# define HEREWEARE cout<<flush ; cerr << __FILE__ << " [" << __LINE__ << "] : " << flush ;
|
||||
# define INFOS(chain) {HEREWEARE ; cerr << chain << endl ;}
|
||||
# define PYSCRIPT(chain) {cout<<flush ; cerr << "---PYSCRIPT--- " << chain << endl ;}
|
||||
|
||||
/* --- To print date and time of compilation of current source on stdout --- */
|
||||
|
||||
# if defined ( __GNUC__ )
|
||||
# define COMPILER "g++" ;
|
||||
# elif defined ( __sun )
|
||||
# define COMPILER "CC" ;
|
||||
# elif defined ( __KCC )
|
||||
# define COMPILER "KCC" ;
|
||||
# elif defined ( __PGI )
|
||||
# define COMPILER "pgCC" ;
|
||||
# else
|
||||
# define COMPILER "undefined" ;
|
||||
# endif
|
||||
|
||||
# ifdef INFOS_COMPILATION
|
||||
# error INFOS_COMPILATION already defined
|
||||
# endif
|
||||
# define INFOS_COMPILATION {\
|
||||
cerr << flush;\
|
||||
cout << __FILE__ ;\
|
||||
cout << " [" << __LINE__ << "] : " ;\
|
||||
cout << "COMPILED with " << COMPILER ;\
|
||||
cout << ", " << __DATE__ ; \
|
||||
cout << " at " << __TIME__ << endl ;\
|
||||
cout << "\n\n" ;\
|
||||
cout << flush ;\
|
||||
}
|
||||
|
||||
# ifdef _DEBUG_
|
||||
|
||||
/* --- the following MACROS are useful at debug time --- */
|
||||
|
||||
# define HERE cout<<flush ; cerr << "- Trace " << __FILE__ << " [" << __LINE__ << "] : " << flush ;
|
||||
# define SCRUTE(var) HERE ; cerr << #var << "=" << var << endl ;
|
||||
# define MESSAGE(chain) {HERE ; cerr << chain << endl ;}
|
||||
# define INTERRUPTION(code) HERE ; cerr << "INTERRUPTION return code= " << code << endl ; exit(code) ;
|
||||
|
||||
# ifndef ASSERT
|
||||
# define ASSERT(condition) if (!(condition)){ HERE ; cerr << "CONDITION " << #condition << " NOT VERIFIED"<< endl ; INTERRUPTION(1) ;}
|
||||
# endif /* ASSERT */
|
||||
|
||||
#define REPERE cout<<flush ; cerr << " --------------" << endl << flush ;
|
||||
#define BEGIN_OF(chain) {REPERE ; HERE ; cerr << "Begin of: " << chain << endl ; REPERE ; }
|
||||
#define END_OF(chain) {REPERE ; HERE ; cerr << "Normal end of: " << chain << endl ; REPERE ; }
|
||||
|
||||
|
||||
|
||||
# else /* ifdef _DEBUG_*/
|
||||
|
||||
# define HERE
|
||||
# define SCRUTE(var)
|
||||
# define MESSAGE(chain)
|
||||
# define INTERRUPTION(code)
|
||||
|
||||
# ifndef ASSERT
|
||||
# define ASSERT(condition)
|
||||
# endif /* ASSERT */
|
||||
|
||||
#define REPERE
|
||||
#define BEGIN_OF(chain)
|
||||
#define END_OF(chain)
|
||||
|
||||
|
||||
# endif /* ifdef _DEBUG_*/
|
||||
|
||||
# endif /* ifndef UTILITIES_H */
|
||||
Vendored
+47
@@ -0,0 +1,47 @@
|
||||
|
||||
find_package(ATLAS)
|
||||
if (ATLAS_FOUND)
|
||||
btl_add_bench(btl_atlas main.cpp)
|
||||
if(BUILD_btl_atlas)
|
||||
target_link_libraries(btl_atlas ${ATLAS_LIBRARIES})
|
||||
set_target_properties(btl_atlas PROPERTIES COMPILE_FLAGS "-DCBLASNAME=ATLAS -DHAS_LAPACK=1")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
find_package(MKL)
|
||||
if (MKL_FOUND)
|
||||
btl_add_bench(btl_mkl main.cpp)
|
||||
if(BUILD_btl_mkl)
|
||||
target_link_libraries(btl_mkl ${MKL_LIBRARIES})
|
||||
set_target_properties(btl_mkl PROPERTIES COMPILE_FLAGS "-DCBLASNAME=INTEL_MKL -DHAS_LAPACK=1")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
|
||||
find_package(OPENBLAS)
|
||||
if (OPENBLAS_FOUND)
|
||||
btl_add_bench(btl_openblas main.cpp)
|
||||
if(BUILD_btl_openblas)
|
||||
target_link_libraries(btl_openblas ${OPENBLAS_LIBRARIES} )
|
||||
set_target_properties(btl_openblas PROPERTIES COMPILE_FLAGS "-DCBLASNAME=OPENBLAS")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
find_package(ACML)
|
||||
if (ACML_FOUND)
|
||||
btl_add_bench(btl_acml main.cpp)
|
||||
if(BUILD_btl_acml)
|
||||
target_link_libraries(btl_acml ${ACML_LIBRARIES} )
|
||||
set_target_properties(btl_acml PROPERTIES COMPILE_FLAGS "-DCBLASNAME=ACML -DHAS_LAPACK=1")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
if(Eigen_SOURCE_DIR AND CMAKE_Fortran_COMPILER_WORKS)
|
||||
# we are inside Eigen and blas/lapack interface is compilable
|
||||
include_directories(${Eigen_SOURCE_DIR})
|
||||
btl_add_bench(btl_eigenblas main.cpp)
|
||||
if(BUILD_btl_eigenblas)
|
||||
target_link_libraries(btl_eigenblas eigen_blas eigen_lapack )
|
||||
set_target_properties(btl_eigenblas PROPERTIES COMPILE_FLAGS "-DCBLASNAME=EigenBLAS")
|
||||
endif()
|
||||
endif()
|
||||
+675
@@ -0,0 +1,675 @@
|
||||
#ifndef BLAS_H
|
||||
#define BLAS_H
|
||||
|
||||
#define BLASFUNC(FUNC) FUNC##_
|
||||
|
||||
#ifdef __WIN64__
|
||||
typedef long long BLASLONG;
|
||||
typedef unsigned long long BLASULONG;
|
||||
#else
|
||||
typedef long BLASLONG;
|
||||
typedef unsigned long BLASULONG;
|
||||
#endif
|
||||
|
||||
int BLASFUNC(xerbla)(const char *, int *info, int);
|
||||
|
||||
float BLASFUNC(sdot) (int *, float *, int *, float *, int *);
|
||||
float BLASFUNC(sdsdot)(int *, float *, float *, int *, float *, int *);
|
||||
|
||||
double BLASFUNC(dsdot) (int *, float *, int *, float *, int *);
|
||||
double BLASFUNC(ddot) (int *, double *, int *, double *, int *);
|
||||
double BLASFUNC(qdot) (int *, double *, int *, double *, int *);
|
||||
|
||||
#if defined(F_INTERFACE_GFORT) && !defined(__64BIT__)
|
||||
int BLASFUNC(cdotu) (int *, float * , int *, float *, int *);
|
||||
int BLASFUNC(cdotc) (int *, float *, int *, float *, int *);
|
||||
void BLASFUNC(zdotu) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(zdotc) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(xdotu) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(xdotc) (double *, int *, double *, int *, double *, int *);
|
||||
#elif defined(F_INTERFACE_F2C) || \
|
||||
defined(F_INTERFACE_PGI) || \
|
||||
defined(F_INTERFACE_GFORT) || \
|
||||
(defined(F_INTERFACE_PATHSCALE) && defined(__64BIT__))
|
||||
void BLASFUNC(cdotu) (float *, int *, float * , int *, float *, int *);
|
||||
void BLASFUNC(cdotc) (float *, int *, float *, int *, float *, int *);
|
||||
void BLASFUNC(zdotu) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(zdotc) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(xdotu) (double *, int *, double *, int *, double *, int *);
|
||||
void BLASFUNC(xdotc) (double *, int *, double *, int *, double *, int *);
|
||||
#else
|
||||
std::complex<float> BLASFUNC(cdotu) (int *, float *, int *, float *, int *);
|
||||
std::complex<float> BLASFUNC(cdotc) (int *, float *, int *, float *, int *);
|
||||
std::complex<double> BLASFUNC(zdotu) (int *, double *, int *, double *, int *);
|
||||
std::complex<double> BLASFUNC(zdotc) (int *, double *, int *, double *, int *);
|
||||
double BLASFUNC(xdotu) (int *, double *, int *, double *, int *);
|
||||
double BLASFUNC(xdotc) (int *, double *, int *, double *, int *);
|
||||
#endif
|
||||
|
||||
int BLASFUNC(cdotuw) (int *, float *, int *, float *, int *, float*);
|
||||
int BLASFUNC(cdotcw) (int *, float *, int *, float *, int *, float*);
|
||||
int BLASFUNC(zdotuw) (int *, double *, int *, double *, int *, double*);
|
||||
int BLASFUNC(zdotcw) (int *, double *, int *, double *, int *, double*);
|
||||
|
||||
int BLASFUNC(saxpy) (int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(daxpy) (int *, double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qaxpy) (int *, double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(caxpy) (int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zaxpy) (int *, double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xaxpy) (int *, double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(caxpyc)(int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zaxpyc)(int *, double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xaxpyc)(int *, double *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(scopy) (int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dcopy) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qcopy) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(ccopy) (int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zcopy) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xcopy) (int *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(sswap) (int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dswap) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qswap) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(cswap) (int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zswap) (int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xswap) (int *, double *, int *, double *, int *);
|
||||
|
||||
float BLASFUNC(sasum) (int *, float *, int *);
|
||||
float BLASFUNC(scasum)(int *, float *, int *);
|
||||
double BLASFUNC(dasum) (int *, double *, int *);
|
||||
double BLASFUNC(qasum) (int *, double *, int *);
|
||||
double BLASFUNC(dzasum)(int *, double *, int *);
|
||||
double BLASFUNC(qxasum)(int *, double *, int *);
|
||||
|
||||
int BLASFUNC(isamax)(int *, float *, int *);
|
||||
int BLASFUNC(idamax)(int *, double *, int *);
|
||||
int BLASFUNC(iqamax)(int *, double *, int *);
|
||||
int BLASFUNC(icamax)(int *, float *, int *);
|
||||
int BLASFUNC(izamax)(int *, double *, int *);
|
||||
int BLASFUNC(ixamax)(int *, double *, int *);
|
||||
|
||||
int BLASFUNC(ismax) (int *, float *, int *);
|
||||
int BLASFUNC(idmax) (int *, double *, int *);
|
||||
int BLASFUNC(iqmax) (int *, double *, int *);
|
||||
int BLASFUNC(icmax) (int *, float *, int *);
|
||||
int BLASFUNC(izmax) (int *, double *, int *);
|
||||
int BLASFUNC(ixmax) (int *, double *, int *);
|
||||
|
||||
int BLASFUNC(isamin)(int *, float *, int *);
|
||||
int BLASFUNC(idamin)(int *, double *, int *);
|
||||
int BLASFUNC(iqamin)(int *, double *, int *);
|
||||
int BLASFUNC(icamin)(int *, float *, int *);
|
||||
int BLASFUNC(izamin)(int *, double *, int *);
|
||||
int BLASFUNC(ixamin)(int *, double *, int *);
|
||||
|
||||
int BLASFUNC(ismin)(int *, float *, int *);
|
||||
int BLASFUNC(idmin)(int *, double *, int *);
|
||||
int BLASFUNC(iqmin)(int *, double *, int *);
|
||||
int BLASFUNC(icmin)(int *, float *, int *);
|
||||
int BLASFUNC(izmin)(int *, double *, int *);
|
||||
int BLASFUNC(ixmin)(int *, double *, int *);
|
||||
|
||||
float BLASFUNC(samax) (int *, float *, int *);
|
||||
double BLASFUNC(damax) (int *, double *, int *);
|
||||
double BLASFUNC(qamax) (int *, double *, int *);
|
||||
float BLASFUNC(scamax)(int *, float *, int *);
|
||||
double BLASFUNC(dzamax)(int *, double *, int *);
|
||||
double BLASFUNC(qxamax)(int *, double *, int *);
|
||||
|
||||
float BLASFUNC(samin) (int *, float *, int *);
|
||||
double BLASFUNC(damin) (int *, double *, int *);
|
||||
double BLASFUNC(qamin) (int *, double *, int *);
|
||||
float BLASFUNC(scamin)(int *, float *, int *);
|
||||
double BLASFUNC(dzamin)(int *, double *, int *);
|
||||
double BLASFUNC(qxamin)(int *, double *, int *);
|
||||
|
||||
float BLASFUNC(smax) (int *, float *, int *);
|
||||
double BLASFUNC(dmax) (int *, double *, int *);
|
||||
double BLASFUNC(qmax) (int *, double *, int *);
|
||||
float BLASFUNC(scmax) (int *, float *, int *);
|
||||
double BLASFUNC(dzmax) (int *, double *, int *);
|
||||
double BLASFUNC(qxmax) (int *, double *, int *);
|
||||
|
||||
float BLASFUNC(smin) (int *, float *, int *);
|
||||
double BLASFUNC(dmin) (int *, double *, int *);
|
||||
double BLASFUNC(qmin) (int *, double *, int *);
|
||||
float BLASFUNC(scmin) (int *, float *, int *);
|
||||
double BLASFUNC(dzmin) (int *, double *, int *);
|
||||
double BLASFUNC(qxmin) (int *, double *, int *);
|
||||
|
||||
int BLASFUNC(sscal) (int *, float *, float *, int *);
|
||||
int BLASFUNC(dscal) (int *, double *, double *, int *);
|
||||
int BLASFUNC(qscal) (int *, double *, double *, int *);
|
||||
int BLASFUNC(cscal) (int *, float *, float *, int *);
|
||||
int BLASFUNC(zscal) (int *, double *, double *, int *);
|
||||
int BLASFUNC(xscal) (int *, double *, double *, int *);
|
||||
int BLASFUNC(csscal)(int *, float *, float *, int *);
|
||||
int BLASFUNC(zdscal)(int *, double *, double *, int *);
|
||||
int BLASFUNC(xqscal)(int *, double *, double *, int *);
|
||||
|
||||
float BLASFUNC(snrm2) (int *, float *, int *);
|
||||
float BLASFUNC(scnrm2)(int *, float *, int *);
|
||||
|
||||
double BLASFUNC(dnrm2) (int *, double *, int *);
|
||||
double BLASFUNC(qnrm2) (int *, double *, int *);
|
||||
double BLASFUNC(dznrm2)(int *, double *, int *);
|
||||
double BLASFUNC(qxnrm2)(int *, double *, int *);
|
||||
|
||||
int BLASFUNC(srot) (int *, float *, int *, float *, int *, float *, float *);
|
||||
int BLASFUNC(drot) (int *, double *, int *, double *, int *, double *, double *);
|
||||
int BLASFUNC(qrot) (int *, double *, int *, double *, int *, double *, double *);
|
||||
int BLASFUNC(csrot) (int *, float *, int *, float *, int *, float *, float *);
|
||||
int BLASFUNC(zdrot) (int *, double *, int *, double *, int *, double *, double *);
|
||||
int BLASFUNC(xqrot) (int *, double *, int *, double *, int *, double *, double *);
|
||||
|
||||
int BLASFUNC(srotg) (float *, float *, float *, float *);
|
||||
int BLASFUNC(drotg) (double *, double *, double *, double *);
|
||||
int BLASFUNC(qrotg) (double *, double *, double *, double *);
|
||||
int BLASFUNC(crotg) (float *, float *, float *, float *);
|
||||
int BLASFUNC(zrotg) (double *, double *, double *, double *);
|
||||
int BLASFUNC(xrotg) (double *, double *, double *, double *);
|
||||
|
||||
int BLASFUNC(srotmg)(float *, float *, float *, float *, float *);
|
||||
int BLASFUNC(drotmg)(double *, double *, double *, double *, double *);
|
||||
|
||||
int BLASFUNC(srotm) (int *, float *, int *, float *, int *, float *);
|
||||
int BLASFUNC(drotm) (int *, double *, int *, double *, int *, double *);
|
||||
int BLASFUNC(qrotm) (int *, double *, int *, double *, int *, double *);
|
||||
|
||||
/* Level 2 routines */
|
||||
|
||||
int BLASFUNC(sger)(int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, int *);
|
||||
int BLASFUNC(dger)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
int BLASFUNC(qger)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
int BLASFUNC(cgeru)(int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, int *);
|
||||
int BLASFUNC(cgerc)(int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, int *);
|
||||
int BLASFUNC(zgeru)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
int BLASFUNC(zgerc)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
int BLASFUNC(xgeru)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
int BLASFUNC(xgerc)(int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(sgemv)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dgemv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qgemv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(cgemv)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zgemv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xgemv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(strsv) (char *, char *, char *, int *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(dtrsv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(qtrsv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(ctrsv) (char *, char *, char *, int *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(ztrsv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(xtrsv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
|
||||
int BLASFUNC(stpsv) (char *, char *, char *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dtpsv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qtpsv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(ctpsv) (char *, char *, char *, int *, float *, float *, int *);
|
||||
int BLASFUNC(ztpsv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xtpsv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(strmv) (char *, char *, char *, int *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(dtrmv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(qtrmv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(ctrmv) (char *, char *, char *, int *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(ztrmv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(xtrmv) (char *, char *, char *, int *, double *, int *,
|
||||
double *, int *);
|
||||
|
||||
int BLASFUNC(stpmv) (char *, char *, char *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dtpmv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qtpmv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(ctpmv) (char *, char *, char *, int *, float *, float *, int *);
|
||||
int BLASFUNC(ztpmv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xtpmv) (char *, char *, char *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(stbmv) (char *, char *, char *, int *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(ctbmv) (char *, char *, char *, int *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(ztbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xtbmv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(stbsv) (char *, char *, char *, int *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(ctbsv) (char *, char *, char *, int *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(ztbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xtbsv) (char *, char *, char *, int *, int *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssymv) (char *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dsymv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qsymv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(csymv) (char *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zsymv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xsymv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(sspmv) (char *, int *, float *, float *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dspmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qspmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(cspmv) (char *, int *, float *, float *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zspmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xspmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssyr) (char *, int *, float *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(dsyr) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(qsyr) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(csyr) (char *, int *, float *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(zsyr) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(xsyr) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
|
||||
int BLASFUNC(ssyr2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dsyr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qsyr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(csyr2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zsyr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xsyr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(sspr) (char *, int *, float *, float *, int *,
|
||||
float *);
|
||||
int BLASFUNC(dspr) (char *, int *, double *, double *, int *,
|
||||
double *);
|
||||
int BLASFUNC(qspr) (char *, int *, double *, double *, int *,
|
||||
double *);
|
||||
int BLASFUNC(cspr) (char *, int *, float *, float *, int *,
|
||||
float *);
|
||||
int BLASFUNC(zspr) (char *, int *, double *, double *, int *,
|
||||
double *);
|
||||
int BLASFUNC(xspr) (char *, int *, double *, double *, int *,
|
||||
double *);
|
||||
|
||||
int BLASFUNC(sspr2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *);
|
||||
int BLASFUNC(dspr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
int BLASFUNC(qspr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
int BLASFUNC(cspr2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *);
|
||||
int BLASFUNC(zspr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
int BLASFUNC(xspr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
|
||||
int BLASFUNC(cher) (char *, int *, float *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(zher) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(xher) (char *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
|
||||
int BLASFUNC(chpr) (char *, int *, float *, float *, int *, float *);
|
||||
int BLASFUNC(zhpr) (char *, int *, double *, double *, int *, double *);
|
||||
int BLASFUNC(xhpr) (char *, int *, double *, double *, int *, double *);
|
||||
|
||||
int BLASFUNC(cher2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zher2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xher2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(chpr2) (char *, int *, float *,
|
||||
float *, int *, float *, int *, float *);
|
||||
int BLASFUNC(zhpr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
int BLASFUNC(xhpr2) (char *, int *, double *,
|
||||
double *, int *, double *, int *, double *);
|
||||
|
||||
int BLASFUNC(chemv) (char *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zhemv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xhemv) (char *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(chpmv) (char *, int *, float *, float *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zhpmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xhpmv) (char *, int *, double *, double *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(snorm)(char *, int *, int *, float *, int *);
|
||||
int BLASFUNC(dnorm)(char *, int *, int *, double *, int *);
|
||||
int BLASFUNC(cnorm)(char *, int *, int *, float *, int *);
|
||||
int BLASFUNC(znorm)(char *, int *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(sgbmv)(char *, int *, int *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(cgbmv)(char *, int *, int *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xgbmv)(char *, int *, int *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssbmv)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dsbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qsbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(csbmv)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zsbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xsbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(chbmv)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zhbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xhbmv)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
/* Level 3 routines */
|
||||
|
||||
int BLASFUNC(sgemm)(char *, char *, int *, int *, int *, float *,
|
||||
float *, int *, float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dgemm)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qgemm)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(cgemm)(char *, char *, int *, int *, int *, float *,
|
||||
float *, int *, float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zgemm)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xgemm)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(cgemm3m)(char *, char *, int *, int *, int *, float *,
|
||||
float *, int *, float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zgemm3m)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xgemm3m)(char *, char *, int *, int *, int *, double *,
|
||||
double *, int *, double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(sge2mm)(char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *,
|
||||
float *, float *, int *);
|
||||
int BLASFUNC(dge2mm)(char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *,
|
||||
double *, double *, int *);
|
||||
int BLASFUNC(cge2mm)(char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *,
|
||||
float *, float *, int *);
|
||||
int BLASFUNC(zge2mm)(char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *,
|
||||
double *, double *, int *);
|
||||
|
||||
int BLASFUNC(strsm)(char *, char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dtrsm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qtrsm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(ctrsm)(char *, char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(ztrsm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xtrsm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(strmm)(char *, char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dtrmm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(qtrmm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(ctrmm)(char *, char *, char *, char *, int *, int *,
|
||||
float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(ztrmm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
int BLASFUNC(xtrmm)(char *, char *, char *, char *, int *, int *,
|
||||
double *, double *, int *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssymm)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dsymm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(qsymm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(csymm)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zsymm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xsymm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(csymm3m)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zsymm3m)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xsymm3m)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssyrk)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, float *, int *);
|
||||
int BLASFUNC(dsyrk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
int BLASFUNC(qsyrk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
int BLASFUNC(csyrk)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, float *, int *);
|
||||
int BLASFUNC(zsyrk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
int BLASFUNC(xsyrk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
|
||||
int BLASFUNC(ssyr2k)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(dsyr2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(qsyr2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(csyr2k)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zsyr2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(xsyr2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(chemm)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zhemm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xhemm)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(chemm3m)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zhemm3m)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
int BLASFUNC(xhemm3m)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(cherk)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, float *, int *);
|
||||
int BLASFUNC(zherk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
int BLASFUNC(xherk)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double *, double *, int *);
|
||||
|
||||
int BLASFUNC(cher2k)(char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zher2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(xher2k)(char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(cher2m)(char *, char *, char *, int *, int *, float *, float *, int *,
|
||||
float *, int *, float *, float *, int *);
|
||||
int BLASFUNC(zher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
int BLASFUNC(xher2m)(char *, char *, char *, int *, int *, double *, double *, int *,
|
||||
double*, int *, double *, double *, int *);
|
||||
|
||||
int BLASFUNC(sgemt)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(dgemt)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
int BLASFUNC(cgemt)(char *, int *, int *, float *, float *, int *,
|
||||
float *, int *);
|
||||
int BLASFUNC(zgemt)(char *, int *, int *, double *, double *, int *,
|
||||
double *, int *);
|
||||
|
||||
int BLASFUNC(sgema)(char *, char *, int *, int *, float *,
|
||||
float *, int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dgema)(char *, char *, int *, int *, double *,
|
||||
double *, int *, double*, double *, int *, double*, int *);
|
||||
int BLASFUNC(cgema)(char *, char *, int *, int *, float *,
|
||||
float *, int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zgema)(char *, char *, int *, int *, double *,
|
||||
double *, int *, double*, double *, int *, double*, int *);
|
||||
|
||||
int BLASFUNC(sgems)(char *, char *, int *, int *, float *,
|
||||
float *, int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(dgems)(char *, char *, int *, int *, double *,
|
||||
double *, int *, double*, double *, int *, double*, int *);
|
||||
int BLASFUNC(cgems)(char *, char *, int *, int *, float *,
|
||||
float *, int *, float *, float *, int *, float *, int *);
|
||||
int BLASFUNC(zgems)(char *, char *, int *, int *, double *,
|
||||
double *, int *, double*, double *, int *, double*, int *);
|
||||
|
||||
int BLASFUNC(sgetf2)(int *, int *, float *, int *, int *, int *);
|
||||
int BLASFUNC(dgetf2)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(qgetf2)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(cgetf2)(int *, int *, float *, int *, int *, int *);
|
||||
int BLASFUNC(zgetf2)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(xgetf2)(int *, int *, double *, int *, int *, int *);
|
||||
|
||||
int BLASFUNC(sgetrf)(int *, int *, float *, int *, int *, int *);
|
||||
int BLASFUNC(dgetrf)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(qgetrf)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(cgetrf)(int *, int *, float *, int *, int *, int *);
|
||||
int BLASFUNC(zgetrf)(int *, int *, double *, int *, int *, int *);
|
||||
int BLASFUNC(xgetrf)(int *, int *, double *, int *, int *, int *);
|
||||
|
||||
int BLASFUNC(slaswp)(int *, float *, int *, int *, int *, int *, int *);
|
||||
int BLASFUNC(dlaswp)(int *, double *, int *, int *, int *, int *, int *);
|
||||
int BLASFUNC(qlaswp)(int *, double *, int *, int *, int *, int *, int *);
|
||||
int BLASFUNC(claswp)(int *, float *, int *, int *, int *, int *, int *);
|
||||
int BLASFUNC(zlaswp)(int *, double *, int *, int *, int *, int *, int *);
|
||||
int BLASFUNC(xlaswp)(int *, double *, int *, int *, int *, int *, int *);
|
||||
|
||||
int BLASFUNC(sgetrs)(char *, int *, int *, float *, int *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
||||
int BLASFUNC(cgetrs)(char *, int *, int *, float *, int *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xgetrs)(char *, int *, int *, double *, int *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(sgesv)(int *, int *, float *, int *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
|
||||
int BLASFUNC(qgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
|
||||
int BLASFUNC(cgesv)(int *, int *, float *, int *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
|
||||
int BLASFUNC(xgesv)(int *, int *, double *, int *, int *, double*, int *, int *);
|
||||
|
||||
int BLASFUNC(spotf2)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dpotf2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qpotf2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(cpotf2)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zpotf2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xpotf2)(char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(spotrf)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dpotrf)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qpotrf)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(cpotrf)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zpotrf)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xpotrf)(char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(slauu2)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dlauu2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qlauu2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(clauu2)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zlauu2)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xlauu2)(char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(slauum)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dlauum)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qlauum)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(clauum)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zlauum)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xlauum)(char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(strti2)(char *, char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dtrti2)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qtrti2)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(ctrti2)(char *, char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(ztrti2)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xtrti2)(char *, char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(strtri)(char *, char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dtrtri)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qtrtri)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(ctrtri)(char *, char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(ztrtri)(char *, char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xtrtri)(char *, char *, int *, double *, int *, int *);
|
||||
|
||||
int BLASFUNC(spotri)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(dpotri)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(qpotri)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(cpotri)(char *, int *, float *, int *, int *);
|
||||
int BLASFUNC(zpotri)(char *, int *, double *, int *, int *);
|
||||
int BLASFUNC(xpotri)(char *, int *, double *, int *, int *);
|
||||
|
||||
#endif
|
||||
Vendored
+73
@@ -0,0 +1,73 @@
|
||||
|
||||
#ifndef BTL_C_INTERFACE_BASE_H
|
||||
#define BTL_C_INTERFACE_BASE_H
|
||||
|
||||
#include "utilities.h"
|
||||
#include <vector>
|
||||
|
||||
template<class real> class c_interface_base
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
typedef real real_type;
|
||||
typedef std::vector<real> stl_vector;
|
||||
typedef std::vector<stl_vector > stl_matrix;
|
||||
|
||||
typedef real* gene_matrix;
|
||||
typedef real* gene_vector;
|
||||
|
||||
static void free_matrix(gene_matrix & A, int /*N*/){
|
||||
delete[] A;
|
||||
}
|
||||
|
||||
static void free_vector(gene_vector & B){
|
||||
delete[] B;
|
||||
}
|
||||
|
||||
static inline void matrix_from_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||
int N = A_stl.size();
|
||||
A = new real[N*N];
|
||||
for (int j=0;j<N;j++)
|
||||
for (int i=0;i<N;i++)
|
||||
A[i+N*j] = A_stl[j][i];
|
||||
}
|
||||
|
||||
static inline void vector_from_stl(gene_vector & B, stl_vector & B_stl){
|
||||
int N = B_stl.size();
|
||||
B = new real[N];
|
||||
for (int i=0;i<N;i++)
|
||||
B[i] = B_stl[i];
|
||||
}
|
||||
|
||||
static inline void vector_to_stl(gene_vector & B, stl_vector & B_stl){
|
||||
int N = B_stl.size();
|
||||
for (int i=0;i<N;i++)
|
||||
B_stl[i] = B[i];
|
||||
}
|
||||
|
||||
static inline void matrix_to_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||
int N = A_stl.size();
|
||||
for (int j=0;j<N;j++){
|
||||
A_stl[j].resize(N);
|
||||
for (int i=0;i<N;i++)
|
||||
A_stl[j][i] = A[i+N*j];
|
||||
}
|
||||
}
|
||||
|
||||
static inline void copy_vector(const gene_vector & source, gene_vector & cible, int N){
|
||||
for (int i=0;i<N;i++)
|
||||
cible[i]=source[i];
|
||||
}
|
||||
|
||||
static inline void copy_matrix(const gene_matrix & source, gene_matrix & cible, int N){
|
||||
for (int j=0;j<N;j++){
|
||||
for (int i=0;i<N;i++){
|
||||
cible[i+N*j] = source[i+N*j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:28 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "blas_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
#include "action_cholesky.hh"
|
||||
#include "action_lu_decomp.hh"
|
||||
#include "action_partial_lu.hh"
|
||||
#include "action_trisolve_matrix.hh"
|
||||
|
||||
#ifdef HAS_LAPACK
|
||||
#include "action_hessenberg.hh"
|
||||
#endif
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_vector_product<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_symv<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_syr2<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
bench<Action_ger<blas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_rot<blas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_matrix_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_trisolve<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_trisolve_matrix<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_trmm<blas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_cholesky<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_partial_lu<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
#ifdef HAS_LAPACK
|
||||
// bench<Action_lu_decomp<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_hessenberg<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_tridiagonalization<blas_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
#endif
|
||||
|
||||
//bench<Action_lu_solve<blas_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
btl_add_bench(btl_STL main.cpp OFF)
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:23 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "STL_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_axpy<STL_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<STL_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_matrix_vector_product<STL_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<STL_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_symv<STL_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_syr2<STL_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_matrix_matrix_product<STL_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<STL_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<STL_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
|
||||
find_package(BLAZE)
|
||||
find_package(Boost COMPONENTS system)
|
||||
if (BLAZE_FOUND AND Boost_FOUND)
|
||||
include_directories(${BLAZE_INCLUDE_DIR} ${Boost_INCLUDE_DIRS})
|
||||
btl_add_bench(btl_blaze main.cpp)
|
||||
# Note: The newest blaze version requires C++14.
|
||||
# Ideally, we should set this depending on the version of Blaze we found
|
||||
set_property(TARGET btl_blaze PROPERTY CXX_STANDARD 14)
|
||||
if(BUILD_btl_blaze)
|
||||
target_link_libraries(btl_blaze ${Boost_LIBRARIES})
|
||||
endif()
|
||||
endif ()
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "blaze_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<blaze_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<blaze_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_vector_product<blaze_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<blaze_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_matrix_matrix_product<blaze_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<blaze_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<blaze_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
|
||||
find_package(Blitz)
|
||||
|
||||
if (BLITZ_FOUND)
|
||||
include_directories(${BLITZ_INCLUDES})
|
||||
|
||||
btl_add_bench(btl_blitz btl_blitz.cpp)
|
||||
if (BUILD_btl_blitz)
|
||||
target_link_libraries(btl_blitz ${BLITZ_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
btl_add_bench(btl_tiny_blitz btl_tiny_blitz.cpp OFF)
|
||||
if (BUILD_btl_tiny_blitz)
|
||||
target_link_libraries(btl_tiny_blitz ${BLITZ_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
Vendored
+51
@@ -0,0 +1,51 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:30 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "blitz_interface.hh"
|
||||
#include "blitz_LU_solve_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "action_matrix_vector_product.hh"
|
||||
#include "action_matrix_matrix_product.hh"
|
||||
#include "action_axpy.hh"
|
||||
#include "action_lu_solve.hh"
|
||||
#include "action_ata_product.hh"
|
||||
#include "action_aat_product.hh"
|
||||
#include "action_atv_product.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_matrix_vector_product<blitz_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<blitz_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
bench<Action_matrix_matrix_product<blitz_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<blitz_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<blitz_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_axpy<blitz_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
//bench<Action_lu_solve<blitz_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
third_party/Dyn-HaMR/third-party/DROID-SLAM/thirdparty/eigen/bench/btl/libs/blitz/btl_tiny_blitz.cpp
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:30 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "tiny_blitz_interface.hh"
|
||||
#include "static/bench_static.hh"
|
||||
#include "action_matrix_vector_product.hh"
|
||||
#include "action_matrix_matrix_product.hh"
|
||||
#include "action_axpy.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench_static<Action_axpy,tiny_blitz_interface>();
|
||||
bench_static<Action_matrix_matrix_product,tiny_blitz_interface>();
|
||||
bench_static<Action_matrix_vector_product,tiny_blitz_interface>();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
|
||||
find_package(Eigen2)
|
||||
|
||||
if(EIGEN2_FOUND)
|
||||
|
||||
include_directories(BEFORE ${EIGEN2_INCLUDE_DIR})
|
||||
btl_add_bench(btl_eigen2_linear main_linear.cpp)
|
||||
btl_add_bench(btl_eigen2_vecmat main_vecmat.cpp)
|
||||
btl_add_bench(btl_eigen2_matmat main_matmat.cpp)
|
||||
btl_add_bench(btl_eigen2_adv main_adv.cpp )
|
||||
|
||||
btl_add_target_property(btl_eigen2_linear COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen2")
|
||||
btl_add_target_property(btl_eigen2_vecmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen2")
|
||||
btl_add_target_property(btl_eigen2_matmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen2")
|
||||
btl_add_target_property(btl_eigen2_adv COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen2")
|
||||
|
||||
btl_add_bench(btl_tiny_eigen2 btl_tiny_eigen2.cpp OFF)
|
||||
|
||||
endif() # EIGEN2_FOUND
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "static/bench_static.hh"
|
||||
#include "action_matrix_vector_product.hh"
|
||||
#include "action_matrix_matrix_product.hh"
|
||||
#include "action_axpy.hh"
|
||||
#include "action_lu_solve.hh"
|
||||
#include "action_ata_product.hh"
|
||||
#include "action_aat_product.hh"
|
||||
#include "action_atv_product.hh"
|
||||
#include "action_cholesky.hh"
|
||||
#include "action_trisolve.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench_static<Action_axpy,eigen2_interface>();
|
||||
bench_static<Action_matrix_matrix_product,eigen2_interface>();
|
||||
bench_static<Action_matrix_vector_product,eigen2_interface>();
|
||||
bench_static<Action_atv_product,eigen2_interface>();
|
||||
bench_static<Action_cholesky,eigen2_interface>();
|
||||
bench_static<Action_trisolve,eigen2_interface>();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+44
@@ -0,0 +1,44 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen2_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "action_trisolve.hh"
|
||||
#include "action_trisolve_matrix.hh"
|
||||
#include "action_cholesky.hh"
|
||||
#include "action_hessenberg.hh"
|
||||
#include "action_lu_decomp.hh"
|
||||
// #include "action_partial_lu.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_trisolve<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_trisolve_matrix<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_cholesky<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_lu_decomp<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_partial_lu<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_hessenberg<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_tridiagonalization<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen2_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen2_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_matrix_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_ata_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_trmm<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen2_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_vector_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
// bench<Action_symv<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
// bench<Action_syr2<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
// bench<Action_ger<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+65
@@ -0,0 +1,65 @@
|
||||
|
||||
|
||||
if((NOT EIGEN3_INCLUDE_DIR) AND Eigen_SOURCE_DIR)
|
||||
# unless EIGEN3_INCLUDE_DIR is defined, let's use current Eigen version
|
||||
set(EIGEN3_INCLUDE_DIR ${Eigen_SOURCE_DIR})
|
||||
set(EIGEN3_FOUND TRUE)
|
||||
else()
|
||||
find_package(Eigen3)
|
||||
endif()
|
||||
|
||||
if (EIGEN3_FOUND)
|
||||
|
||||
include_directories(${EIGEN3_INCLUDE_DIR})
|
||||
btl_add_bench(btl_eigen3_linear main_linear.cpp)
|
||||
btl_add_bench(btl_eigen3_vecmat main_vecmat.cpp)
|
||||
btl_add_bench(btl_eigen3_matmat main_matmat.cpp)
|
||||
btl_add_bench(btl_eigen3_adv main_adv.cpp )
|
||||
|
||||
btl_add_target_property(btl_eigen3_linear COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen3")
|
||||
btl_add_target_property(btl_eigen3_vecmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen3")
|
||||
btl_add_target_property(btl_eigen3_matmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen3")
|
||||
btl_add_target_property(btl_eigen3_adv COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=eigen3")
|
||||
|
||||
option(BTL_BENCH_NOGCCVEC "also bench Eigen explicit vec without GCC's auto vec" OFF)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND BTL_BENCH_NOGCCVEC)
|
||||
btl_add_bench(btl_eigen3_nogccvec_linear main_linear.cpp)
|
||||
btl_add_bench(btl_eigen3_nogccvec_vecmat main_vecmat.cpp)
|
||||
btl_add_bench(btl_eigen3_nogccvec_matmat main_matmat.cpp)
|
||||
btl_add_bench(btl_eigen3_nogccvec_adv main_adv.cpp )
|
||||
|
||||
btl_add_target_property(btl_eigen3_nogccvec_linear COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=eigen3_nogccvec")
|
||||
btl_add_target_property(btl_eigen3_nogccvec_vecmat COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=eigen3_nogccvec")
|
||||
btl_add_target_property(btl_eigen3_nogccvec_matmat COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=eigen3_nogccvec")
|
||||
btl_add_target_property(btl_eigen3_nogccvec_adv COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=eigen3_nogccvec")
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT BTL_NOVEC)
|
||||
btl_add_bench(btl_eigen3_novec_linear main_linear.cpp OFF)
|
||||
btl_add_bench(btl_eigen3_novec_vecmat main_vecmat.cpp OFF)
|
||||
btl_add_bench(btl_eigen3_novec_matmat main_matmat.cpp OFF)
|
||||
btl_add_bench(btl_eigen3_novec_adv main_adv.cpp OFF)
|
||||
btl_add_target_property(btl_eigen3_novec_linear COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_novec")
|
||||
btl_add_target_property(btl_eigen3_novec_vecmat COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_novec")
|
||||
btl_add_target_property(btl_eigen3_novec_matmat COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_novec")
|
||||
btl_add_target_property(btl_eigen3_novec_adv COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_novec")
|
||||
|
||||
# if(BUILD_btl_eigen3_adv)
|
||||
# target_link_libraries(btl_eigen3_adv ${MKL_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
endif()
|
||||
|
||||
btl_add_bench(btl_tiny_eigen3 btl_tiny_eigen3.cpp OFF)
|
||||
|
||||
if(NOT BTL_NOVEC)
|
||||
btl_add_bench(btl_tiny_eigen3_novec btl_tiny_eigen3.cpp OFF)
|
||||
btl_add_target_property(btl_tiny_eigen3_novec COMPILE_FLAGS "-DBTL_PREFIX=eigen3_tiny")
|
||||
|
||||
if(BUILD_btl_tiny_eigen3_novec)
|
||||
btl_add_target_property(btl_tiny_eigen3_novec COMPILE_FLAGS "-DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=eigen3_tiny_novec")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif ()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "static/bench_static.hh"
|
||||
#include "action_matrix_vector_product.hh"
|
||||
#include "action_matrix_matrix_product.hh"
|
||||
#include "action_axpy.hh"
|
||||
#include "action_lu_solve.hh"
|
||||
#include "action_ata_product.hh"
|
||||
#include "action_aat_product.hh"
|
||||
#include "action_atv_product.hh"
|
||||
#include "action_cholesky.hh"
|
||||
#include "action_trisolve.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench_static<Action_axpy,eigen2_interface>();
|
||||
bench_static<Action_matrix_matrix_product,eigen2_interface>();
|
||||
bench_static<Action_matrix_vector_product,eigen2_interface>();
|
||||
bench_static<Action_atv_product,eigen2_interface>();
|
||||
bench_static<Action_cholesky,eigen2_interface>();
|
||||
bench_static<Action_trisolve,eigen2_interface>();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+44
@@ -0,0 +1,44 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "action_trisolve.hh"
|
||||
#include "action_trisolve_matrix.hh"
|
||||
#include "action_cholesky.hh"
|
||||
#include "action_hessenberg.hh"
|
||||
#include "action_lu_decomp.hh"
|
||||
#include "action_partial_lu.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_trisolve<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_trisolve_matrix<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_cholesky<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
// bench<Action_lu_decomp<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_partial_lu<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
// bench<Action_hessenberg<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
bench<Action_tridiagonalization<eigen3_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<eigen3_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<eigen3_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_rot<eigen3_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_matrix_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_ata_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_aat_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_trmm<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "eigen3_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_vector_product<eigen3_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<eigen3_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_symv<eigen3_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_syr2<eigen3_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_ger<eigen3_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
|
||||
find_package(GMM)
|
||||
if (GMM_FOUND)
|
||||
include_directories(${GMM_INCLUDES})
|
||||
btl_add_bench(btl_gmm main.cpp)
|
||||
endif ()
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "gmm_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
#include "action_hessenberg.hh"
|
||||
#include "action_partial_lu.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<gmm_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<gmm_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_vector_product<gmm_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<gmm_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
bench<Action_matrix_matrix_product<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_ata_product<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_aat_product<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_trisolve<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
//bench<Action_lu_solve<blitz_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||
|
||||
bench<Action_partial_lu<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_hessenberg<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
bench<Action_tridiagonalization<gmm_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
|
||||
find_package(MTL4)
|
||||
if (MTL4_FOUND)
|
||||
include_directories(${MTL4_INCLUDE_DIR})
|
||||
btl_add_bench(btl_mtl4 main.cpp)
|
||||
endif ()
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "mtl4_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
#include "action_cholesky.hh"
|
||||
// #include "action_lu_decomp.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
bench<Action_axpy<mtl4_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<mtl4_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_vector_product<mtl4_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<mtl4_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_matrix_matrix_product<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_ata_product<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_aat_product<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_trisolve<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_cholesky<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_lu_decomp<mtl4_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+44
@@ -0,0 +1,44 @@
|
||||
|
||||
|
||||
if((NOT TENSOR_INCLUDE_DIR) AND Eigen_SOURCE_DIR)
|
||||
# unless TENSOR_INCLUDE_DIR is defined, let's use current Eigen version
|
||||
set(TENSOR_INCLUDE_DIR ${Eigen_SOURCE_DIR})
|
||||
set(TENSOR_FOUND TRUE)
|
||||
else()
|
||||
find_package(Tensor)
|
||||
endif()
|
||||
|
||||
if (TENSOR_FOUND)
|
||||
|
||||
include_directories(${TENSOR_INCLUDE_DIR})
|
||||
btl_add_bench(btl_tensor_linear main_linear.cpp)
|
||||
btl_add_bench(btl_tensor_vecmat main_vecmat.cpp)
|
||||
btl_add_bench(btl_tensor_matmat main_matmat.cpp)
|
||||
|
||||
btl_add_target_property(btl_tensor_linear COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=tensor")
|
||||
btl_add_target_property(btl_tensor_vecmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=tensor")
|
||||
btl_add_target_property(btl_tensor_matmat COMPILE_FLAGS "-fno-exceptions -DBTL_PREFIX=tensor")
|
||||
|
||||
option(BTL_BENCH_NOGCCVEC "also bench Eigen explicit vec without GCC's auto vec" OFF)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND BTL_BENCH_NOGCCVEC)
|
||||
btl_add_bench(btl_tensor_nogccvec_linear main_linear.cpp)
|
||||
btl_add_bench(btl_tensor_nogccvec_vecmat main_vecmat.cpp)
|
||||
btl_add_bench(btl_tensor_nogccvec_matmat main_matmat.cpp)
|
||||
|
||||
btl_add_target_property(btl_tensor_nogccvec_linear COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=tensor_nogccvec")
|
||||
btl_add_target_property(btl_tensor_nogccvec_vecmat COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=tensor_nogccvec")
|
||||
btl_add_target_property(btl_tensor_nogccvec_matmat COMPILE_FLAGS "-fno-exceptions -fno-tree-vectorize -DBTL_PREFIX=tensor_nogccvec")
|
||||
endif()
|
||||
|
||||
|
||||
if(NOT BTL_NOVEC)
|
||||
btl_add_bench(btl_tensor_novec_linear main_linear.cpp OFF)
|
||||
btl_add_bench(btl_tensor_novec_vecmat main_vecmat.cpp OFF)
|
||||
btl_add_bench(btl_tensor_novec_matmat main_matmat.cpp OFF)
|
||||
btl_add_target_property(btl_tensor_novec_linear COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=tensor_novec")
|
||||
btl_add_target_property(btl_tensor_novec_vecmat COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=tensor_novec")
|
||||
btl_add_target_property(btl_tensor_novec_matmat COMPILE_FLAGS "-fno-exceptions -DEIGEN_DONT_VECTORIZE -DBTL_PREFIX=tensor_novec")
|
||||
|
||||
endif()
|
||||
|
||||
endif ()
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
// This file is part of Eigen, a lightweight C++ template library
|
||||
// for linear algebra.
|
||||
//
|
||||
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla
|
||||
// Public License v. 2.0. If a copy of the MPL was not distributed
|
||||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#include "utilities.h"
|
||||
#include "tensor_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_axpy<tensor_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<tensor_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
|
||||
//=====================================================
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla
|
||||
// Public License v. 2.0. If a copy of the MPL was not distributed
|
||||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "tensor_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_matrix_product<tensor_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
//=====================================================
|
||||
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
|
||||
//=====================================================
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla
|
||||
// Public License v. 2.0. If a copy of the MPL was not distributed
|
||||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "tensor_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_matrix_vector_product<tensor_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Vendored
+6
@@ -0,0 +1,6 @@
|
||||
|
||||
find_package(Tvmet)
|
||||
if (TVMET_FOUND)
|
||||
include_directories(${TVMET_INCLUDE_DIR})
|
||||
btl_add_bench(btl_tvmet main.cpp OFF)
|
||||
endif ()
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:30 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "tvmet_interface.hh"
|
||||
#include "static/bench_static.hh"
|
||||
#include "action_matrix_vector_product.hh"
|
||||
#include "action_matrix_matrix_product.hh"
|
||||
#include "action_atv_product.hh"
|
||||
#include "action_axpy.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench_static<Action_axpy,tvmet_interface>();
|
||||
bench_static<Action_matrix_matrix_product,tvmet_interface>();
|
||||
bench_static<Action_matrix_vector_product,tvmet_interface>();
|
||||
bench_static<Action_atv_product,tvmet_interface>();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
|
||||
find_package(Boost)
|
||||
if (Boost_FOUND)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
include_directories(${Boost_INCLUDES})
|
||||
btl_add_bench(btl_ublas main.cpp)
|
||||
endif ()
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
//=====================================================
|
||||
// File : main.cpp
|
||||
// Author : L. Plagne <laurent.plagne@edf.fr)>
|
||||
// Copyright (C) EDF R&D, lun sep 30 14:23:27 CEST 2002
|
||||
//=====================================================
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
//
|
||||
#include "utilities.h"
|
||||
#include "ublas_interface.hh"
|
||||
#include "bench.hh"
|
||||
#include "basic_actions.hh"
|
||||
|
||||
BTL_MAIN;
|
||||
|
||||
int main()
|
||||
{
|
||||
bench<Action_axpy<ublas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
bench<Action_axpby<ublas_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||
|
||||
bench<Action_matrix_vector_product<ublas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
bench<Action_atv_product<ublas_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||
|
||||
bench<Action_matrix_matrix_product<ublas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_ata_product<ublas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
// bench<Action_aat_product<ublas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
bench<Action_trisolve<ublas_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user