-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REVIEW]: cuIBM: A GPU-based immersed boundary method code #301
Comments
Hello human, I'm @whedon. I'm here to help you with some common editorial tasks for JOSS. @arghdos it looks like you're currently assigned as the reviewer for this paper 🎉. ⭐ Important ⭐ If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all JOSS reviews 😿 To fix this do the following two things:
For a list of things I can do to help you, just type:
|
@arghdos and @OSUmageed, this is where the review will take place. @arghdos since you are the "primary" reviewer (and JOSS is only really set up to handle one reviewer), I'll ask you to check off the boxes at the top. However @OSUmageed you should also go through and make sure you agree that they are satisfied. Thanks! |
I have completed a preliminary review of cuIBM. This is a valuable software that enables CUDA based solution of the 2D incompressible Navier-Stokes equations using immersed boundary methods. Installation is relatively easy, and is laid out comprehensively in the Readme, there are many examples for use, and there is API level documentation of the doe. Most of the requirements have been met, but a few issues remain. Two simple issues have been opened on the cuIBM repo:
However, there is an open question of on validation of performance. In one of the early papers linked to in this repo, there are claims of up to 4-8x solution speedup over a single CPU core. However, it appears the CPU implementation of cuIBM is not currently functional hence there is no way to validate the performance of cuIBM against any "reference technique". I am not sure how to proceed with this issue |
@kyleniemeyer @arghdos @mesnardo I completely agree with @arghdos' preliminary review. And I have a few things to add. First, I want to say the documentation is really spectacular. I'm still relatively new to this field, but this is the most well documented source code I've ever read. I definitely think there needs to be a link to the API in the readme or instructions to build and view it, if only because it allows the user to copy and paste multiple lines of code into a terminal at once which the > symbol in the readme prevents. The lack of performance validation is an issue. It doesn't need to be a full example; a study with plots and an adequate description of the hardware that produced them would suffice. The performance is essential to the statement of need. If it's not faster on the GPU, why not write it in C/C++? I also opened an issue in the repo #34. The plotting scripts for the flying snake examples don't work. |
Thank you @arghdos for the preliminary review and for your suggestions. I have added a link to the Doxygen API documentation in the README of cuIBM. Those changes are now available in the branch |
Thanks for your reviews @arghdos and @OSUmageed! Do the documentation and community guideline changes that @mesnardo made satisfy those concerns? If so, you can close those issues / check the boxes above. @mesnardo It seems like the performance claim is the only remaining issue—do you have a response on that? |
@kyleniemeyer I've closed my issues and updated the review |
@kyleniemeyer @arghdos @mesnardo I closed my issue as well. |
@arghdos @OSUmageed Thank you for your reviews and closing the issues. @kyleniemeyer Concerning the performance and the fact that the CPU routines are not functional, I am waiting for the input from @anushkrish who has run the tests to compare the GPU version of cuIBM to the CPU one. |
@mesnardo ok great! That looks like the only outstanding issue. |
@kyleniemeyer - is this good to accept now? |
@arfon no, still waiting on this outstanding performance issue to be resolved |
@kyleniemeyer @arghdos There is no outstanding performance issue — the CPU version is not maintained, not supported, and there is a note to that effect in the README. The reviewer is referencing an old preprint from many years ago, not this paper. We make no CPU performance claims in this paper, nor on the repository of the software. The software repository only includes performance claims in the form of runtime for the examples, on GPU. |
OK, @labarba @mesnardo, as long as there is no performance claim vs CPU. So, it looks like the software itself is good to go. However, the article itself has a few outstanding issues:
Once those things are resolved, this submission will be ready for publication. |
We'll look into that, and we also just discussed with @mesnardo that we'll remove the CPU routines from the master branch and leave it in a BTW, this software does not compute (two-way) fluid-structure interaction (only prescribed body motions). |
(And, as you heard me rant at SciPy, we really have to stop talking about GPU vs. CPU comparisons. This is a fixation that is an unfortunate consequence of the vendor marketing, and it no longer makes sense.) |
@labarba sounds good, thanks! And yes, I am well aware of this—hence the development of our fork of cuIBM that can do so 😀. Perhaps "fluid-structure interaction" would be misleading then, but a statement about simulating flows interacting with moving bodies (e.g.) would be helpful. |
@kyleniemeyer , we have removed the CPU routines, there are now in a separate branch called |
OK, looks good! One last thing: the Known Issues at the bottom still says "CPU routines do not work." Could you correct that, and then provide a DOI for the archived software here? |
You should be looking at the branch |
@mesnardo ah, got it—I was indeed looking at the master README. OK, this is accepted for publication, so please merge that branch and archive the software. |
@kyleniemeyer Branch |
@whedon set 10.5281/zenodo.832338 as archive |
OK. 10.5281/zenodo.832338 is the archive. |
Hi @arfon this is ready to publish! |
@arghdos many thanks for your review here and @kyleniemeyer for editing this submission ✨ @mesnardo - your paper is now accepted into JOSS and your DOI is http://dx.doi.org/10.21105/joss.00301 ⚡️ 🚀 💥 |
Thanks @arghdos and @OSUmageed! |
Yay! |
Submitting author: @mesnardo (Olivier Mesnard)
Repository: https://github.com/barbagroup/cuIBM
Version: v0.1
Editor: @kyleniemeyer
Reviewer: @arghdos
Archive: 10.5281/zenodo.832338
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer questions
@arghdos, please carry out your review in this issue by updating the checklist below (please make sure you're logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @kyleniemeyer know.
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?The text was updated successfully, but these errors were encountered: