Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.jl.cov
*.jl.mem
Manifest.toml
65 changes: 4 additions & 61 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,70 +1,13 @@
sudo: required
dist: trusty

language: julia

osx_image: xcode11.4
notifications:
email: false

os:
- linux
# - osx

- osx
julia:
- 1.0
- 1.4
# - nightly

- 1
- nightly
matrix:
allow_failures:
- julia: nightly

env:
global:
- PATH=/usr/lib/ccache/:$HOME/OpenMPI/bin:$PATH
- FC=gfortran-5
- JL_PKG=Elemental
matrix:
- MPI=mpich CC=gcc-5 CXX=g++-5 CACHE_NAME=JOB1
- MPI=mpich CC=clang CXX=clang++ CACHE_NAME=JOB2
- MPI=openmpi CC=gcc-5 CXX=g++-5 CACHE_NAME=JOB3 JULIA_MPI_PATH=$HOME/OpenMPI
- MPI=openmpi CC=clang CXX=clang++ CACHE_NAME=JOB4 JULIA_MPI_PATH=$HOME/OpenMPI

cache:
directories:
- $HOME/.ccache

addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.8 main'
key_url: http://apt.llvm.org/llvm-snapshot.gpg.key
- sourceline: 'ppa:dzombie/ccache'
packages:
- ccache
- gcc-5
- g++-5
- gfortran-5
- libstdc++-5-dev
- clang-3.8

install:
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache ; fi
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi
- echo `${ccache -s}`
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo ln -s /usr/bin/ccache /usr/lib/ccache/clang ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo ln -s /usr/bin/ccache /usr/lib/ccache/clang++ ; fi
- echo `which $CC`
- echo `which $CXX`
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz | sudo tar -x -z --strip-components 1 -C /usr ; fi
- export CPU_CORES=2
- sh ./mpi.sh $MPI
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
- while sleep 30; do tail ./deps/build.log -f ; done &
- julia --check-bounds=yes --color=yes -e 'using Pkg; if VERSION >= v"1.1.0-rc1"; Pkg.build(verbose=true); else Pkg.build(); end;'
- echo `ccache -s`

script:
- julia --compiled-modules=no --check-bounds=yes --color=yes -e 'using Pkg; Pkg.test("Elemental")'
13 changes: 5 additions & 8 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,28 +1,25 @@
name = "Elemental"
uuid = "902c3f28-d1ec-5e7e-8399-a24c3845ee38"
version = "0.5.1"
version = "0.6.0"

[deps]
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
DistributedArrays = "aaf54ef3-cdf8-58ed-94cc-d582ad619b94"
LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433"
Elemental_jll = "c2e960f2-a21d-557e-aa36-859d46eed7e8"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"

[compat]
DistributedArrays = "0.5, 0.6"
MPI = "0.11"
MPIClusterManagers = "0.1"
TSVD = "0.4"
julia = "1"
Elemental_jll = "0.87"
julia = "1.3"

[extras]
MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"
MPIClusterManagers = "e7922434-ae4b-11e9-05c5-9780451d2c66"
Primes = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
TSVD = "9449cd9e-2762-5aa3-a617-5413e99d722e"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test", "MPI", "MPIClusterManagers", "Primes", "TSVD", "Random"]
test = ["Test", "MPIClusterManagers", "Primes", "TSVD", "Random"]
4 changes: 0 additions & 4 deletions deps/.gitignore

This file was deleted.

58 changes: 0 additions & 58 deletions deps/build.jl

This file was deleted.

1 change: 0 additions & 1 deletion extras/elpp.jl
Original file line number Diff line number Diff line change
Expand Up @@ -175,4 +175,3 @@ function toback(A::DArray{Float64,2})
end

end

61 changes: 0 additions & 61 deletions mpi.sh

This file was deleted.

2 changes: 1 addition & 1 deletion src/Elemental.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ using LinearAlgebra
import Base: *, \
import Base: convert, copy, copy!, eltype, fill!, getindex, hcat, inv, length, pointer, print, setindex!, similar, size

const libEl = abspath(joinpath(dirname(@__FILE__), "..", "deps", "usr", "lib", "libEl"))
using Elemental_jll: libEl

include("error.jl")

Expand Down
15 changes: 11 additions & 4 deletions test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
using Test
using Elemental_jll.MPICH_jll: mpiexec

# Import all of our external dependencies to make sure they're compiled serially.
using DistributedArrays
using TSVD
using Primes
using MPIClusterManagers

function runtests_mpirun()
nprocs = min(4, Sys.CPU_THREADS)
testdir = dirname(@__FILE__)
testfiles = ["lav.jl", "lavdense.jl", "matrix.jl", "distmatrix.jl", "props.jl", "generic.jl", "spectral.jl", "tsvd.jl", "svd.jl"]
nfail = 0
@info "Running Elemental.jl tests"
for f in testfiles
try
run(`mpirun -np $nprocs $(Base.julia_cmd()) $(joinpath(testdir, f))`)
mpiexec() do exec
run(`$exec -np $nprocs $(Base.julia_cmd()) $(joinpath(@__DIR__, f))`)
end
Base.with_output_color(:green,stdout) do io
println(io,"\tSUCCESS: $f")
end
Expand All @@ -26,15 +34,14 @@ end
function runtests_repl()
nprocs = min(4, Sys.CPU_THREADS)
exename = joinpath(Sys.BINDIR, Base.julia_exename())
testdir = dirname(@__FILE__)
testfiles = ["darray.jl"]
nfail = 0
@info "Running Elemental.jl tests"
for f in testfiles
try
# FixMe! We temporarily run Finalize() explictly on the workers because the atexit hook
# doesn't seem to be correctly triggered on workers as of 31 October 2018.
cmdstr = "using Distributed, MPI, MPIClusterManagers; man = MPIManager(np = $nprocs); addprocs(man); include(\"$(joinpath(testdir, f))\"); asyncmap(p -> remotecall_fetch(() -> Elemental.Finalize(), p), workers())"
cmdstr = "using Distributed, MPIClusterManagers; man = MPIManager(np = $nprocs); addprocs(man); include(\"$(joinpath(@__DIR__, f))\"); asyncmap(p -> remotecall_fetch(() -> Elemental.Finalize(), p), workers())"
run(`$exename -e $cmdstr`)
Base.with_output_color(:green,stdout) do io
println(io,"\tSUCCESS: $f")
Expand Down