StanCon Cambridge developer meeting opportunities

During StanCon there will be time for planned and ad-hoc Stan developer meetings on Tuesday and Wednesday. This will be managed by having a longer lunch break between the tutorials and some reserved rooms. Idea is that you have possibility to have some face-to-face discussion with people you don’t often meet live and maybe even do some code review and pair programming (which are definitely easier when in the same room). Based on the previous StanCons it can be quite busy during the actual conference, so if you haven’t finalized your travel plans, I suggest to arrive so that you can take benefit of the opportunity of live meetings on Tuesday and Wednesday. Most of the meetings are assumed to be quite small scale with anyone you want to meet (just contact them in your preferred way), but anyone is welcome to suggest also more planned meetings (e.g. by posting to this thread).

3 Likes

As a StanCon organizer I’ll chime in.

My goal is to have 2 hrs/day for developer meetings during tutorials. This will NOT overlap the tutorials.

During the conference I am aiming for at least 1 hr/day of developer meeting time but I am more constrained and cannot promise it.

If you want access to the tutorial food/lunch please register for tutorials. That is how we pay for the food.

thanks

Breckl

Some topics I’d like to discuss live and anyone interested in these is welcome to join

EDIT: accidentally posted too early

2 Likes

Count me in.

1 Like

Do we want to have these developer meetings on the same day or should we split them up across the conference?

I also wouldn’t mind having one for stan-math performance. i.e. cpu/gpu parallelism and Eigen/math optimizations

A meeting on the cpu parallel things with a discussion on changes to the reverse ad system would be good, I think.

I am around from Wednesday just before lunch.

I’ll be available to video in. Just keep me up to date

Sparse matrices sound fun! @Stevo15025 was talking about writing up a design doc for how the syntax would look and how it would work. I think there’s some existing work from @Daniel_Simpson here (which possibly supercedes the wiki). Are those the most up to date links?

I’d like to discuss the KINSOL solver with @yizhang and @wds15. Specifically, what features do we make available to the user – KINSOL offers a lot, and sometimes you need fine-tuning to get the optimal performance. I’ll draft a proposal.

Yes! Going to start working on the proposal today. I’m lucky that Dan and Aki have already paved the way for a lot of these things

These two topics overlap and I’d suggest we also join the sparse matrices discussion @avehtari mentioned.

1 Like

To echo what @jonah mentioned two weeks ago, I wonder what activities can be arranged for people who won’t be in dev meeting, 2 hours is a long gap in the middle of the day.

2 Likes

In Helsinki, many people attending the tutorials wished for longer breaks without any organized activities so that they can either experiment with what they learned in the morning or rest so that they are able to learn more in the afternoon. Thus this 2 hour break is intentional and it’s just the developers who have to suffer and manage without a longer break.

3 Likes

Yay! Im in!

1 Like

I offered to help Aki with arranging these. Below are polls for each developer block mentioned. If you are interested in attending any of the developer meetings leave the dates you are available so we can get space accordingly!

If you can attend any day feel free to check-off all 4 days

@breckbaldwin once we have the dates that are best for everyone who do we contact to either see which rooms are free or reserve rooms?

Also, I kind of like the idea of making these meetings open. It could be a good opportunity to get new developers!

Thinking about this more, how would people feel about a “new devs” block? I kind of like the idea of collecting a bunch of small PRs across our packages and helping setup people who are interested in contributing.

Bayesplot

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

loo

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

projpred

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

Laplace for GLVMs (and Kinsol Solver)

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

Sparse Matrices

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

Parallelization / Optimization

  • Tuesday (August 20)
  • Wednesday (August 21)
  • Thursday (August 22)
  • Friday (August 23)

0 voters

tidyverse had dev day with Hadley ringing a gong every time a PR was merged

3 Likes

Yes my idea is v much inspired by that! They had a new dev event at a Chicago SatRday that went very well!

Surely Cambridge has a gong around somewhere we can borrow…

One thing I’d like to discuss wrt this is our memory model. I made a branch of stan-math which has a C++20 Allocator concept compliant allocator in it. (mostly stolen inspired by Eigen and Facebook’s folly). So instead of using raw pointers like vari** we can use something like

std::vector<vari, chainable_allocator<vari>> adjARef_;

I think we can take this idea a step further by creating a pool of stack allocators, where we have a number of allocators equal to the number of threads available. I think we could do this by using the Bloomberg style of dynamic polymorphic allocator in the initializer. So something like

std::vector<vari> adjARef_;
// In the initialization list
adjARef_(A.vi(), pooled_stack_allocators<vari>)

Then the pooled_stack_allocator gives a stack allocator for vari to adjARef_.

I think that makes sense? Though we should probably discuss this somewhere else

I believe there are plenty of rooms. I have scheduled 2hrs of dev time Tues/Wed, 1 hr on Friday. I was thinking of a general community meeting Thursday for an hour as well. Schedules up today/tomorrow.

Breck

We spoke yesterday about have a short discussion about the posterior database as well. I do not know where that would fit. @avehtari may have an idea?