GithubHelp home page GithubHelp logo

Comments (11)

jeffhammond avatar jeffhammond commented on June 30, 2024

@zbeekman: it sounds like you are working on this, so I will wait for your success and then copy it.

from kernels.

zbeekman avatar zbeekman commented on June 30, 2024

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.

jeffhammond avatar jeffhammond commented on June 30, 2024

@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.

zbeekman avatar zbeekman commented on June 30, 2024

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.

jeffhammond avatar jeffhammond commented on June 30, 2024

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.

zbeekman avatar zbeekman commented on June 30, 2024

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.

jeffhammond avatar jeffhammond commented on June 30, 2024

@zbeekman Okay, I'll just use CMake directly, after I run cmake .. --help to get a list of options ;-)

from kernels.

zbeekman avatar zbeekman commented on June 30, 2024

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.

jeffhammond avatar jeffhammond commented on June 30, 2024

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.

jeffhammond avatar jeffhammond commented on June 30, 2024

#104 will resolve this when merged.

from kernels.

jeffhammond avatar jeffhammond commented on June 30, 2024

#111 resolves this on Linux. Once it is merged, I will close the issue.

from kernels.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.