Skip to content
Marc Paterno edited this page Sep 18, 2019 · 15 revisions

y3_cluster_cpp wiki

The y3_cluster_cpp repository contains code for related DES analysis project.

Getting started on DES Y3 CosmoSIS cluster pipeline development.

We strive to build elegant, robust and optimized code for Y3 in c++

These are the documents to start with if you are interested in joining the efforts.

To contribute to this project:

  • You may wish to subscribe to a mailing list des-cosmosis-y3@fnal.gov.

  • There is also a DES slack channel (#cosmo_clpipe), but please note that we communicate mainly through the mailing list. Weekly hack reminders are sent to the mailing list.

  • Request access to the repo by sending your bitbucket user name to Yuanyuan (ynzhang@fnal.gov) https://bitbucket.org/mpaterno/y3_cluster_cpp/ (We need to keep the repo private for a bit.)

  • We'd appreciate that you have went through the installation process.

There is a native macOS installation available, if you're willing to use a devel version of CosmoSIS. See [Native macOS build].

The docker installation is a pre-requisite -- unfortunately this is a commercially/community offered software, so we may not be able to help as much -- However, we expect the installation to be trivial for Mac and Ubuntu. If you use other operating systems, you may consider using a Ubuntu virtual machine for installation. Note that docker more or less can only be installed on a machine that you have root access to (like your laptop), and the docker images can't be ran from an external hard disk. After installing docker, there are several repos to clone and install, please follow the instructions on the bitbucket instruction page. This takes some downloading time but should be relatively straightforward.

We welcome people's contributions to this project. When you commit your changes, please check the following:

  • The code runs and passes all the tests with your modification. Please don't commit any changes that breaks the code.

  • The code runs in a reasonable time. Currently one integrand takes <1 second with 4G memory and 2 processes. If your modification slows down the integrand by more than 2 second, you should talk to the team before committing (so we know to look into it for optimization)

  • The code should have been tested a bit, and we highly appreciate unit testing code.

Installing related software FAQ

[Installing Docker]

Writing test code.

Once you've finished the testing code, please add it to the CMakeLists.txt file following the existing format there. Then run "make" again to compile the code, and then "ctest", which should now also be running your code.

If you want to run only the test code that you just compiled (after "make"), you can run that corresponding executable in the test folder, which will give more verbal results.

Clone this wiki locally