digitalmars.D.announce - Google Summer of Code 2016 Only A Few Hours Left
- Craig Dillabaugh (11/11) Feb 19 2016 The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so
- Alex Herrmann (3/14) Feb 19 2016 As a prospective student, fingers are crossed for D.
- Craig Dillabaugh (2/20) Feb 19 2016 Me too. Its been a few years now.
- Jeremy DeHaan (3/21) Feb 19 2016 Same here. I started working on some proposals already. I really
- Dave (24/35) Feb 19 2016 D is a fantastic efficient and fast replacement of Python which
- Dave (3/42) Feb 19 2016 Sorry, I just missed that the deadline is UTC 19:00. Maybe next
- jmh530 (17/21) Feb 19 2016 I've written bindings for nlopt and a wrapper to make it more
- bachmeier (3/7) Feb 20 2016 If it has an R interface, it also has a D interface using my
- Craig Dillabaugh (5/19) Feb 19 2016 Well, you can always try updating the ideas page anyways. Today
- jmh530 (4/8) Feb 22 2016 This is what I was talking about:
- Dave (10/14) Feb 22 2016 Cool stuff and an inspiring discussion how one can do numerics in
- jmh530 (11/15) Feb 22 2016 On posix, you could try dstep. I ran htod on nlopt, but because
- Jacob Carlborg (5/11) Feb 22 2016 Unfortunately DStep cannot create bindings for C++. It also doesn't
The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, Craig
Feb 19 2016
On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, CraigAs a prospective student, fingers are crossed for D.
Feb 19 2016
On Friday, 19 February 2016 at 20:08:43 UTC, Alex Herrmann wrote:On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:Me too. Its been a few years now.The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, CraigAs a prospective student, fingers are crossed for D.
Feb 19 2016
On Friday, 19 February 2016 at 20:08:43 UTC, Alex Herrmann wrote:On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:Same here. I started working on some proposals already. I really hope D gets accepted.The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, CraigAs a prospective student, fingers are crossed for D.
Feb 19 2016
On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, CraigD is a fantastic efficient and fast replacement of Python which even has great plotting and other analysis features as ggplotd! To gain traction in numerical and statistical computing it is important to provide great optimization, automatic differential (AD) (reversed-mode AD (e.g. in mc-stan.org for Bayesian stuff) and/or forward-mode as e.g. for R at GSOC-2010 - there is no reason for numerical diff these days anymore, and you may mess-up your stuff using it!), and Bayesian routines. D is laking on these basic features (my personal opinion - correct me if I am wrong). Good starting points for a GSOC project would be "to port" mc-stan.org or some optimization algorithms from Coin-OR.org (please let me be more particular and independent of existing work if there is any interest for such a project!). I am not a D specialist but getting more and more into it and up to happily mentor this GSOC-project (maybe there would be (co-)mentors with more D experiences). (I already initiated a successful GSOC application on algorithmic differentiation in R together with John Nash for GSOC 2010 (student: Chidambaram Annamalai) - unfortunately I did not have the capacity to mentor/support the project as I had to finish my PhD during this time)
Feb 19 2016
On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:Sorry, I just missed that the deadline is UTC 19:00. Maybe next year :-)The GSOC deadline is Feb 19th 19:00 UTC (or 2 PM Wawa time) so any last ideas for the Idea's page are welcome. Our application is completed, but changes can still be made to the ideas page. In fact I suppose we can go on making modifications even after the deadline, as I have no idea at what time Google takes the snapshots of these pages for evaluation. Thanks to Martin Nowak's suggestion we are now participating as "The D Foundation" (rather than Digital Mars). Thanks to all who have helped out to this point. Cheers, CraigD is a fantastic efficient and fast replacement of Python which even has great plotting and other analysis features as ggplotd! To gain traction in numerical and statistical computing it is important to provide great optimization, automatic differential (AD) (reversed-mode AD (e.g. in mc-stan.org for Bayesian stuff) and/or forward-mode as e.g. for R at GSOC-2010 - there is no reason for numerical diff these days anymore, and you may mess-up your stuff using it!), and Bayesian routines. D is laking on these basic features (my personal opinion - correct me if I am wrong). Good starting points for a GSOC project would be "to port" mc-stan.org or some optimization algorithms from Coin-OR.org (please let me be more particular and independent of existing work if there is any interest for such a project!). I am not a D specialist but getting more and more into it and up to happily mentor this GSOC-project (maybe there would be (co-)mentors with more D experiences). (I already initiated a successful GSOC application on algorithmic differentiation in R together with John Nash for GSOC 2010 (student: Chidambaram Annamalai) - unfortunately I did not have the capacity to mentor/support the project as I had to finish my PhD during this time)
Feb 19 2016
On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:Good starting points for a GSOC project would be "to port" mc-stan.org or some optimization algorithms from Coin-OR.org (please let me be more particular and independent of existing work if there is any interest for such a project!).I've written bindings for nlopt and a wrapper to make it more D-like. Close to releasing it. I'm also thinking about doing the same thing for GLPK, but I want to do other non-D stuff before I get to that. The only optimization library I'm familiar with in Coin-OR is ipopt and that's C++, which might be more difficult to get working. Being able to call Stan from D would definitely be cool. It looks beyond my expertise to get it working though. I think part of the difficulty is that while it is written in C++, there isn't a C++ interface. I think they are working on one though. I looked at the code for rstan and the command line interface and couldn't make much headway in understanding what's going on. It should be possible to do some manipulation in D and pipe it to the command line interface of Stan. Alternately, you could try calling pystan or rstan from D. If you make any progress on these approaches, I would be interested.
Feb 19 2016
On Friday, 19 February 2016 at 21:50:43 UTC, jmh530 wrote:On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:Alternately, you could try calling pystan or rstan from D. If you make any progress on these approaches, I would be interested.If it has an R interface, it also has a D interface using my rdlang project. I will look at it when I get some free time.
Feb 20 2016
On Saturday, 20 February 2016 at 13:31:03 UTC, bachmeier wrote:On Friday, 19 February 2016 at 21:50:43 UTC, jmh530 wrote:R is the most popular way to use Stan I think. rstan is the library.On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:Alternately, you could try calling pystan or rstan from D. If you make any progress on these approaches, I would be interested.If it has an R interface, it also has a D interface using my rdlang project. I will look at it when I get some free time.
Feb 20 2016
On Saturday, 20 February 2016 at 15:00:50 UTC, jmh530 wrote:On Saturday, 20 February 2016 at 13:31:03 UTC, bachmeier wrote:I looked at rstan. I've heard of it but never used it. AFAICT, the computationally intensive part is done by the call to stan() from within the R code. Therefore there are no efficiency issues with calling D -> R -> stan. I took the easy road and ran the given R code directly. Here is my program: import rinsided, rdlang.r, rdlang.vector; void main() { evalRQ(`library(rstan)`); evalRQ(`y <- read.table('https://raw.github.com/wiki/stan-dev/rstan/rats.txt', header = TRUE)`); evalRQ(`x <- c(8, 15, 22, 29, 36)`); evalRQ(`xbar <- mean(x)`); evalRQ(`N <- nrow(y)`); evalRQ(`T <- ncol(y)`); evalRQ(`rats_fit <- stan(file = 'https://raw.githubusercontent.com/stan-dev/example-models/master/bugs_examples/vol1/rats/rats.stan')`); auto stanOutput = RVector(evalR(`attr(rats_fit, "sim")[[1]][[1]][[1]]`)); stanOutput.print(); } stanOutput is a D struct holding a pointer to that particular part of the output. Without more knowledge of rats_fit, I can't go further. You could also pass D data into R (y, x, xbar, ...) but I didn't see a reason to do that here. Nonetheless this is what you want, a way to call rstan from D, and then access the results from your D program.On Friday, 19 February 2016 at 21:50:43 UTC, jmh530 wrote:R is the most popular way to use Stan I think. rstan is the library.On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:Alternately, you could try calling pystan or rstan from D. If you make any progress on these approaches, I would be interested.If it has an R interface, it also has a D interface using my rdlang project. I will look at it when I get some free time.
Feb 20 2016
On Saturday, 20 February 2016 at 20:39:58 UTC, bachmeier wrote:I looked at rstan. I've heard of it but never used it. AFAICT, the computationally intensive part is done by the call to stan() from within the R code. Therefore there are no efficiency issues with calling D -> R -> stan. I took the easy road and ran the given R code directly. Here is my program:} stanOutput is a D struct holding a pointer to that particular part of the output. Without more knowledge of rats_fit, I can't go further. You could also pass D data into R (y, x, xbar, ...) but I didn't see a reason to do that here. Nonetheless this is what you want, a way to call rstan from D, and then access the results from your D program.Very cool! I like and recommend Stan because you can fit types of models that would be very difficult to implement any other way. It was originally developed to fit hierarchical/multi-level models. You're right that the computationally intensive part is not in R. You write a .stan file that contains the model you want to fit. Calling the stan function in R compiles the .stan file to C++ and runs, then it gives you some output. rats_fit stores everything from when stan fit the rats.stan model to the data. The getting started page on github https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started shows some of the key ways that you would interact with it. Print and plot. The extract function is also key. That's used to pull out the simulated values from the HMC.
Feb 20 2016
On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:On Friday, 19 February 2016 at 17:03:57 UTC, Craig Dillabaugh wrote:Well, you can always try updating the ideas page anyways. Today was the application deadline, but I don't think there is anything they can do to stop us from updating a page on our Wiki. Just make sure to add yourself to the mentor's page.[...]D is a fantastic efficient and fast replacement of Python which even has great plotting and other analysis features as ggplotd! To gain traction in numerical and statistical computing it is important to provide great optimization, automatic differential (AD) (reversed-mode AD (e.g. in mc-stan.org for Bayesian stuff) and/or forward-mode as e.g. for R at GSOC-2010 - there is no reason for numerical diff these days anymore, and you may mess-up your stuff using it!), and Bayesian routines. D is laking on these basic features (my personal opinion - correct me if I am wrong). [...]
Feb 19 2016
On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:Good starting points for a GSOC project would be "to port" mc-stan.org or some optimization algorithms from Coin-OR.org (please let me be more particular and independent of existing work if there is any interest for such a project!).This is what I was talking about: https://code.dlang.org/packages/libnlopt https://code.dlang.org/packages/nloptd
Feb 22 2016
On Monday, 22 February 2016 at 16:11:45 UTC, jmh530 wrote:On Friday, 19 February 2016 at 21:10:45 UTC, Dave wrote:This is what I was talking about: https://code.dlang.org/packages/libnlopt https://code.dlang.org/packages/nloptdCool stuff and an inspiring discussion how one can do numerics in D! For the GSOC project I was rather thinking of standalone D tools. For the interested once, AdRoll implemented the BFGS optimization algorithm in D: https://github.com/AdRoll/lbfgs-d The Stan Math Library is a header-only C++ library as Eigen is. Is there a chance to port such big libraries including many macros with htod (unfortunately I do not have a Windows-OS to try it out)?
Feb 22 2016
On Monday, 22 February 2016 at 20:00:09 UTC, Dave wrote:The Stan Math Library is a header-only C++ library as Eigen is. Is there a chance to port such big libraries including many macros with htod (unfortunately I do not have a Windows-OS to try it out)?On posix, you could try dstep. I ran htod on nlopt, but because it made some use of macros, I ended up having to make a bunch of adjustments myself. Afterwards, comparing what I did with what htod did, they were actually very close. I just wasn't familiar enough with how to do the conversation to notice it until I spent a lot of time learning about making the conversations. You could also try Calypso. On that Qt MOC thread Elie Morisse complained about there not being enough testers. I'm sure creating other examples would be helpful or any other way to lend a helping hand.
Feb 22 2016
On 2016-02-22 23:32, jmh530 wrote:On Monday, 22 February 2016 at 20:00:09 UTC, Dave wrote:Unfortunately DStep cannot create bindings for C++. It also doesn't handle macros. Handle #define is work in progress. -- /Jacob CarlborgThe Stan Math Library is a header-only C++ library as Eigen is. Is there a chance to port such big libraries including many macros with htod (unfortunately I do not have a Windows-OS to try it out)?On posix, you could try dstep.
Feb 22 2016