Age | Commit message (Collapse) | Author |
|
Summary:
This patch adds support for testing clang/LLVM against the GCC Torture
suite.
This patch adds the CMake configuration and licence information for these tests. A follow-up patch will add the testcases themselves (which are too large to review, and included without modifications). They will be committed together.
Reviewers: hfinkel, kristof.beyls, asb
Reviewed By: kristof.beyls
Subscribers: khcheang, mehdi_amini, jvesely, krytarowski, fedor.sergeev, zzheng, steven_wu, dexonsmith, arphaman, jfb, mstorsjo, lewis-revill, simoncook, s.egerton, riccibruno, asb, mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66887
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@374155 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
See r351631 to LLVM which installed the new license and developer policy
for subsequent contributions.
The test suite project is especially strange due to the fact that there
are so many large portions of it that are external projects cloned under
their own license into this repository for the purpose of testing. As
a consequence, I preserved some of the information in the index of such
directories, although I fear it is seriously out of date.
Note that I've left odd formatting and other idiosyncracies of the legacy
license structure text alone to make the diff easier to read. Critically, note
that we do not in any case *remove* the old license notice or terms, as that
remains necessary until we finish the relicensing process.
In subsequent commits I'll update the file headers of code that is
unambiguously part of the LLVM project rather than cloned from somewhere
else. These will be separate commits due to the size of some of the code
in the test suite. Also, there are confusing cases that will either be
handled later once the authors can be consulted, or simply need to
remain as-is. For example, we appear to use an old version of some LLVM
code as a textual input to a benchmark, and changing it would change the
benchmark itself. This also appears to provide no value as the old
version will forever be available under the old license anyways.
Also, we understand that people may be surprised that we're moving the
header entirely to discuss the new license. We checked this carefully
with the Foundation's lawyer and we believe this is the correct
approach.
Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@351675 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Includes Rodinia license and a rand() implementation that is reproducible
on different platforms for use by various Rodinia benchmarks.
Patch by Pankaj, Kukreja, thanks!
Reviewers: Meinersbur
Differential Revision: https://reviews.llvm.org/D49896
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@338167 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Rodinia Benchmark)
Reverting, committed files from several diffs.
https://reviews.llvm.org/D49896
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@338166 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Includes Rodinia license and a rand() implementation that is reproducible
on different platforms for use by various Rodinia benchmarks.
Patch by Pankaj, Kukreja, thanks!
Reviewers: Meinersbur
Differential Revision: https://reviews.llvm.org/D49896
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@338163 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Adds the Harris Corner Dectection kernel used in computer vision algorithms.
The code is modified from the Polymage benchmarks to use the Google Benchmark
library.
Patch by Pankaj Kukreja, thanks!
Reviewers: dberris, Meinersbur
Differential Revision: https://reviews.llvm.org/D47675
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@335611 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
kernels to test suite.
These changes are dependent on the changes purposed in
https://reviews.llvm.org/D43314 and https://reviews.llvm.org/D43316.
This adds parts of LCALS as google benchmarks to the test suite. The loop suite
is partitioned into 3 subsets based on their origins.
From README-LCALS_instructions.txt: LCALS ("Livermore Compiler Analysis Loop
Suite") is a collection of loop kernels based, in part, on historical
"Livermore Loops" benchmarks (See the 1986 technical report: "The Livermore
Fortran Kernels: A Computer Test of the Numerical Performance Range", by Frank
H. McMahon, UCRL-53745.).
Subset A: Loops representative of those found in application codes. They are
implemented in source files named runA<variant>Loops.cxx.
Subset B: Basic loops that help to illustrate compiler optimization issues.
They are implemented in source files named runB<variant>Loops.cxx
Subset C: Loops extracted from "Livermore Loops coded in C" developed by Steve
Langer, which were derived from the Fortran version by Frank McMahon. They are
implemented in source files runC<variant>Loops.cxx
Being added are google benchmark versions of the Raw and ForeachLambda variants
in the 3 sizes.
SubsetALambdaLoops: 18 tests (6 loops x 3 sizes)
SubsetARawLoops: 18 tests (6 loops x 3 sizes)
SubsetBLambdaLoops: 12 tests (4 loops x 3 sizes)
SubsetBRawLoops: 12 tests (4 loops x 3 sizes)
SubsetCLambdaLoops: 60 tests (20 loops x 3 sizes)
SubsetCRawLoops: 60 tests (20 loops x 3 sizes)
When run onIntel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz (Haswell):
SubsetA takes around 22 seconds (18 tests reported).
SubsetB takes around 16 seconds (12 tests reported).
SubsetC takes around 61 seconds (60 tests reported).
The machine being used should not affect the runtime of the tests by much as
the benchmark library will adjust the number of iterations up or down.
Reviewers: MatzeB, hfinkel, rengolin
Differential Revision: https://reviews.llvm.org/D43319
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@328330 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts r317697 with additon of FP_TOLERANCE to account for
use of -ffast-math.
Commit message from r317697:
Test breaks the AVX2 buildbot. Reverting per request.
Differential Revision: https://reviews.llvm.org/D38417
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@317701 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Test breaks the AVX2 buildbot. Reverting per request.
Differential Revision: https://reviews.llvm.org/D38417
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@317697 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Description:
The Hardware/Hybrid Accelerated Cosmology Code (HACC), a cosmology N-body-code
framework, is designed to run efficiently on diverse computing architectures
and to scale to millions of cores and beyond. The gravitational force is the
only significant force between particles at cosmological scales, and, in HACC,
this force is divided into two components: a long-range component and a
short-range component. The long-range component is handled using a distributed
grid-based solver, and the short-range component is by more-direct
particle-particle computations. On many systems, a tree-based multipole
approximation is used to further reduce the computational complexity of the
short-range force. The inner-most computation is a direct N^2 particle-particle
force calculation of the short-range part of the gravitational force. It is this
inner-most calculation that consumes most of the simulation time, is
computationally bound, and is what is represented by this benchmark.
Link:
Web: https://xgitlab.cels.anl.gov/hacc/HACCKernels
When run on Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.2GHz:
compile_time: 11.6126
exec_time: 13.3000
Differential Revision: https://reviews.llvm.org/D38417
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@317483 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
SimpleMOC: The purpose of this mini-app is to demonstrate the performance
characterterics and viability of the Method of Characteristics (MOC) for 3D
neutron transport calculations in the context of full scale light water reactor
simulation.
https://github.com/ANL-CESAR/SimpleMOC
Patch by Pavanravikanth Kondamudi, thanks!
Includes glibc_compat_rand.{c,h} written by me.
Differential Revision: https://reviews.llvm.org/D36621
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312615 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
RSBench: A mini-app to represent the multipole resonance representation lookup
cross section algorithm.
https://github.com/ANL-CESAR/RSBench
Patch by Pavanravikanth Kondamudi, thanks!
Includes glibc_compat_rand.{c,h} written by me.
Differential Revision: https://reviews.llvm.org/D36626
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312592 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
miniGMG is a compact benchmark for understanding the performance challenges
associated with geometric multigrid solvers found in applications built from
AMR MG frameworks like CHOMBO or BoxLib when running on modern multi- and
manycore-based supercomputers. It includes both productive reference examples
as well as highly-optimized implementations for CPUs and GPUs. It is
sufficiently general that it has been used to evaluate a broad range of
research topics including PGAS programming models and algorithmic tradeoffs
inherit in multigrid. miniGMG was developed under the CACHE Joint Math-CS
Institute.
http://crd.lbl.gov/departments/computer-science/PAR/research/previous-projects/miniGMG/
http://crd.lbl.gov/assets/Uploads/FTG/Projects/miniGMG/miniGMG.tar.gz
On an Intel Xeon CPU E5-2699 v4 @ 2.20GHz:
compile_time: 22.3845
exec_time: 7.9860
Maximum resident set size (kbytes): 1012464
Patch by Ji Seung "Anna" Kim, thanks!
Differential Revision: https://reviews.llvm.org/D36699
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312497 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts commit r312482 with fixes for ODR violations (at least one of
which was manifesting as a linking error on AArch64).
Commit message from r312482:
Revert "[test-suite] Adding the CLAMR mini-app"
This reverts commit r312465, r312463, as they broke the AArch64
test-suite:
http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/8141
Reported in: PR34453
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312488 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts commit r312465, r312463, as they broke the AArch64
test-suite:
http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/8141
Reported in: PR34453
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312482 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The CLAMR code is a cell-based adaptive mesh refinement (AMR) mini-app
developed as a testbed for hybrid algorithm development using MPI and OpenCL
GPU code. This is a serial configuration for the test suite.
https://github.com/lanl/CLAMR
On an Intel Xeon CPU E5-2699 v4 @ 2.20GHz:
compile_time: 125.6392
exec_time: 7.3060
Maximum resident set size (kbytes): 13232
Patch by Ji Seung "Anna" Kim, thanks!
Includes glibc_compat_rand.{c,h} written by me.
Differential Revision: https://reviews.llvm.org/D36718
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@312463 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
PathFinder searches for "signatures" within graphs. Graphs being searched are
directed and cyclic. Many, but not all nodes within the graph have labels. Any
given node may have more than one label, and any label may be applied to more
than one node. A signature is an orderd list of labels. PathFinder searches for
paths between labels within the signature. PathFinder returns success if there
is a path from a node with the first label in the signature that passes through
nodes with each label in order, ultimately reaching a node with the last label
in the signature. Labeled nodes need not be contiguous on any given path.
At the current time, PathFinder does not do any pathway analysis (e.g. shortest
path) for discovered signatures. PathFinder simply searches until a signature
is satisfied or all pathways have been exhausted.
Web: https://mantevo.org/packages/
Github: https://github.com/Mantevo/PathFinder
When run on an Intel Xeon CPU E5-2699 v4 @ 2.20GHz:
compile_time: 13.3092
exec_time: 3.1158
Maximum resident set size (kbytes): 6256
Patch by Brian Homerding, thanks!
Differential Revision: https://reviews.llvm.org/D36680
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@311413 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
MiniFE is an proxy application for unstructured implicit finite element codes.
It is similar to HPCCG and pHPCCG but provides a much more complete vertical
covering of the steps in this class of applications. MiniFE also provides
support for computation on multicore nodes, including pthreads and Intel
Threading Building Blocks (TBB) for homogeneous multicore and CUDA for GPUs.
This is a serial build for the test suite.
Web: https://mantevo.org/packages/
Github: https://github.com/Mantevo/miniFE
When run on an Intel Xeon CPU E5-2699 v4 @ 2.20GHz:
compile_time: 65.8697
exec_time: 3.3827
Maximum resident set size (kbytes): 401472
Patch by Brian Homerding, thanks!
Differential Revision: https://reviews.llvm.org/D36683
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@311411 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
miniAMR applies a stencil calculation on a unit cube computational domain,
which is divided into blocks. The blocks all have the same number of cells in
each direction and communicate ghost values with neighboring blocks. With
adaptive mesh refinement, the blocks can represent different levels of
refinement in the larger mesh. Neighboring blocks can be at the same level or
one level different, which means that the length of cells in neighboring blocks
can differ by only a factor of two in each direction. The calculations on the
variables in each cell is an averaging of the values in the chosen stencil. The
refinement and coarsening of the blocks is driven by objects that are pushed
through the mesh. If a block intersects with the surface or the volume of an
object, then that block can be refined. There is also an option to uniformly
refine the mesh. Each cell contains a number of variables, each of which is
evaluated indecently.
Web: https://mantevo.org/packages/
Github: https://github.com/Mantevo/miniAMR
When run on Intel Xeon E5-2699 v4 @ 2.20GHz:
compile_time: 33.7526
exec_time: 0.4879
Maximum resident set size (kbytes): 836784
Patch by Brian Homerding, thanks!
Includes glibc_compat_rand.{h,c} written by me.
Differential Revision: https://reviews.llvm.org/D36682
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@311398 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
PENNANT is an unstructured mesh physics mini-app designed for advanced
architecture research. It contains mesh data structures and a few physics
algorithms adapted from the LANL rad-hydro code FLAG, and gives a sample of the
typical memory access patterns of FLAG.
On our Intel Xeon CPU E5-2699 v4 @ 2.20GHz:
compile_time: 49.6176
exec_time: 5.0120
Maximum resident set size (kbytes): 356016
Patch by Ji Seung "Anna" Kim, thanks!
Differential Revision: https://reviews.llvm.org/D36709
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@310975 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
HPCCG: A simple conjugate gradient benchmark code for a 3D chimney domain on an
arbitrary number of processors.
This simple benchmark code is a self-contained piece of C++ software that
generates a 27-point finite difference matrix with a user-prescribed sub-block
size on each processor.
Web: https://mantevo.org/packages/
github: https://github.com/Mantevo/HPCCG
On our 2.2 GHz Intel Xeon (E5-2660):
compile_time: 56.9292
exec_time: 0.7010
Maximum resident set size (kbytes): 193952
Patch by Brian Homerding, thanks!
Differential Revision: https://reviews.llvm.org/D36582
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@310951 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Google benchmark library 1.1.0.
Add initial XRay benchmarks (by default not run, you must explicitly include MicroBenchmarks in TEST_SUITE_SUBDIRS)
Reviewers: dberris, chandlerc, dberlin, MatzeB
Reviewed By: dberris, MatzeB
Subscribers: hfinkel, javed.absar, krytarowski, MatzeB, kristof.beyls, srhines, mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D32272
Patch by Eizan Miyamoto (eizan)
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@307017 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Avoid the external zlib dependency in ClamAV by copying zlib-1.2.11
source into the benchmark.
External dependencies are problematic in benchmarks because:
- They are not compiled with the same compiler/flags as the rest of the
benchmarks.
- They are an additional burden to setup when running the test-suite.
While zlib is a really popular and ubiquitous library it is still
sometimes missing in cross-compilation settings.
Differential Revision: https://reviews.llvm.org/D32048
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@300771 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The US Department of Energy (DOE) has open-sourced a significant number of
so-called proxy applications (i.e. small applications, representative of our
larger workloads in some respects, intended for use as benchmarks and test beds
for various kind of porting exercises). Many of these are useful as compiler
tests, and I'd like to add these to our test suite. Doing so will increase the
representation within our test suite of HPC/scientific applications and allow
us to better track how Clang/LLVM is doing in this area. Scientific
applications are certainly a diverse group in themselves, and so my long term
goal is to add a significant number of these proxies to ensure good coverage.
Some months ago, I compiled a list of our open-source proxy applications
released by the various DOE laboratories
(https://gitlab.com/llvm-doe/public/wikis/DOEProxyApps). By my estimate, of the
approximately 40 proxy applications on that list, around half could be
reasonably added to our test suite. We're continuing to develop new proxies,
and so the number of suitable applications should grow somewhat in the future.
In any case, here's the first one: XSBench. This is a C application with a
straightforward reference output. It is designed to represent a key
computational kernel of the Monte-Carlo neutronics application OpenMC. The
builtin "small" test configuration is mostly suitable for our test suite - the
parameters have been adjusted slightly so that the test uses only ~27MB of
memory and runs in a few seconds.
As a reflection of my desire to add more of these applications, I've place this
in a subdirectory named DOE-ProxyApps-C (the idea being that the C++ proxy
applications will get a DOE-ProxyApps-C++ directory or similar).
Differential Revision: https://reviews.llvm.org/D27311
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@290894 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts commits 289666 and 289677, as they didn't work on ARM and have no way
of identifying (hashes).
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@289929 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
LICENSE.TXT has a list of software with licenses different from the test-suite
itself. Add XSBench to the list.
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@289677 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
original source from http://www.kevinbeason.com/smallpt/ with the following
modifications:
- commented out openmp pragma
- disabled writing to output image to file
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@171745 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@170306 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@169913 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is necessary since ALAC has been released under the Apple Open Source License, not the NCSA/University of Illinois open-source license.
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@169820 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@164838 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@59796 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@26748 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@26168 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@26132 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@25501 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@22120 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@21529 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@21219 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@19477 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@18660 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@18606 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
after llvm-test was split out of llvm.
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@16382 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@16262 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@16132 91177308-0d34-0410-b5e6-96231b3b80d8
|