Comments (11)
@zbeekman: it sounds like you are working on this, so I will wait for your success and then copy it.
from kernels.
Hey @jeffhammond
I'm curious what you need. We have OpenCoarrays building and running on Travis-CI, both under OS X and Linux (containerized).
I am, however, currently in the process of refactoring our .travis.yml which currently uses only inlined shell script. My goal is to expand the build matrix a bit more, to make .travis.yml
more concise/legible and to attempt to get gcc > 5.2 on the Linux build.
The main dependency hurdles are GCC/GFortran >= 5.1, a recent CMake and a recent MPI implementation with support for a number of MPI-3 features. For OS X this is as trivial as brew update; brew install gcc; brew install cmake; brew install mpich
. This will install the latest stable release of each of these packages. On the containerized linux builds, we have to add two white-listed PPAs to easily get a suitable CMake and GCC. Unfortunately, ubuntu-toolchain-r-test
only contains GCC/GFortran 5.2, which has decent CAF support, but there are some bugs, and features only present in 5.3. I then build and cache MPICH so that it doesn't need to be built more than once.
from kernels.
@zbeekman Cool. Thanks for the details. I will check out your setup and see how to integrate it. I assumed you were unable to test due to the GCC build bottleneck, but I misunderstood.
from kernels.
No problem. If you hit any show stoppers I can try to take a look. The TL;DR version is:
- OS X: use homebrew to install a recent gcc, cmake, mpich
- Linux (container): Use the two whitelisted PPAs to get a sufficiently recent CMake and GFortran 5.2, then build mpich from source (and optionally cache it so your future builds don't have to do this).
from kernels.
Yeah, I looked at building OpenCoarrays on my laptop, but CMake gave me pause. My local setup is rather complicated w.r.t. MPICH (I have builds for three compiler toolchains, among other things) and I wasn't sure if it was going to detect things properly. I guess I should try Travis, because I care less if Travis instances fail :-)
from kernels.
I'd be happy to look into helping you build OpenCoarrays on your laptop. Just get in touch with me over gchat. The install.sh script is targeted at old-school scientists, engineers, etc. to try to make things easy for them. If you can get a recent CMake, GCC 5.3 and MPICH or OpenMPI built against that GCC, then the direct CMake install might be the way to go for an advanced user, like you.
from kernels.
@zbeekman Okay, I'll just use CMake directly, after I run cmake .. --help
to get a list of options ;-)
from kernels.
I lost track of where we had been discussing GASNet, but I took a look at the Homebrew GASNet formula. It does install UDP and SMP conduits, but I think, in their current state, they may be broken, because of the way that Homebrew interacts with GASNet writing stub/include makefiles. I have a workaround for this, but it's not acceptable to the Homebrew maintainers, so I am exploring alternatives.
As for OpenCoarrays, on my private branch, which I hope to merge in the next few days, I have a more comprehensive build matrix setup. It is a little bit unorthodox in that it uses Linuxbrew on the Travis-CI container builds, so that GCC 5.3 (instead of 5.2) can be used to compile and run open coarrays.
from kernels.
I started working on this in https://github.com/jeffhammond/PRK/tree/travis-opencoarrays. For now, I will only try to get the MPI-3 RMA implementation working, although I did add a GASNet install script already.
from kernels.
#104 will resolve this when merged.
from kernels.
#111 resolves this on Linux. Once it is merged, I will close the issue.
from kernels.
Related Issues (20)
- Minor bug in nstream-openmp-target causing nstream_time variable to be overwritten HOT 2
- Kokkos doesn't have 'make install' anymore
- TBB flowgraph busted by API change HOT 1
- redo Travis CI infrastructure
- fix Numba p2p
- Broken link in Readme to docs HOT 1
- debug multi-GPU SYCL nstream HOT 1
- add DG1 helper
- Use LoopVectorization in julia stencil / transpose HOT 7
- Scala deprecation warnings HOT 1
- ALPAKA support HOT 8
- nvhpc offloading on RH8/p9+V100 system: supported? HOT 5
- Data Race due to num_error variable HOT 3
- CUDA stencil inefficiency (compared to SYCL) HOT 3
- pic-sycl.cc uses C99 HOT 1
- OpenMP Synch_p2p depends on x86 HOT 7
- Fortran MPI p2p is buggy HOT 1
- transpose-petsc crashes HOT 1
- Cannot find -lkokkos HOT 6
- MPI transpose with datatypes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kernels.