JuliaCon / proceedings-review

7 stars 1 forks source link

[PRE REVIEW]: Distributed Parallelization of xPU Stencil Computations in Julia #115

Closed whedon closed 10 months ago

whedon commented 1 year ago

Submitting author: @omlins (Samuel Omlin) Repository: https://github.com/omlins/ImplicitGlobalGrid.jl Version: Editor: @fcdimitr Reviewers: @mloubout, @georgebisbas Managing EiC: Valentin Churavy

Author instructions

Thanks for submitting your paper to JCON @omlins. Currently, there isn't an JCON editor assigned to your paper.

The author's suggestion for the handling editor is @vchuravy.

@omlins if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). In addition, this list of people have already agreed to review for JCON and may be suitable for this submission (please start at the bottom of the list).

Editor instructions

The JCON submission bot @whedon is here to help you find and assign reviewers and start the main review. To find out what @whedon can do for you type:

@whedon commands
whedon commented 1 year ago

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks.

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
whedon commented 1 year ago

Failed to discover a Statement of need section in paper

whedon commented 1 year ago

Wordcount for paper.tex is 1110

whedon commented 1 year ago

PDF failed to compile for issue #115 with the following error:

 /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon.rb:155:in `block in check_orcids': Problem with ORCID (0000-0000-0000-000X) for Samuel Omlin (RuntimeError)
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon.rb:153:in `each'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon.rb:153:in `check_orcids'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon.rb:90:in `initialize'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon/processor.rb:38:in `new'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/lib/whedon/processor.rb:38:in `set_paper'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/bin/whedon:58:in `prepare'
    from /app/vendor/bundle/ruby/2.6.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
    from /app/vendor/bundle/ruby/2.6.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
    from /app/vendor/bundle/ruby/2.6.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
    from /app/vendor/bundle/ruby/2.6.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
    from /app/vendor/bundle/ruby/2.6.0/bundler/gems/whedon-c5c16aedb3d6/bin/whedon:131:in `<top (required)>'
    from /app/vendor/bundle/ruby/2.6.0/bin/whedon:23:in `load'
    from /app/vendor/bundle/ruby/2.6.0/bin/whedon:23:in `<main>'
whedon commented 1 year ago
Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.07 s (719.7 files/s, 95817.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                           24            368            277           2939
TeX                              8            244            177           2261
Markdown                         3             76              0            244
Bourne Shell                    11             78             84            132
YAML                             3              3              0             85
Ruby                             1              8              4             45
TOML                             3              4              0             27
-------------------------------------------------------------------------------
SUM:                            53            781            542           5733
-------------------------------------------------------------------------------

Statistical information for the repository 'f0c6452113edafadf2481764' was
gathered on 2022/11/03.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Samuel Omlin                     3           114             57          100.00

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
Samuel Omlin                 57           50.0          0.0                7.02
whedon commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/SC41405.2020.00062 is OK
- ??? is OK
- 10.21105/jcon.00068 is OK

MISSING DOIs

- 10.1137/141000671 may be a valid DOI for title: Julia: A fresh approach to numerical computing
- 10.1109/tpds.2018.2872064 may be a valid DOI for title: Effective extensible programming: unleashing Julia on GPUs

INVALID DOIs

- None
matbesancon commented 1 year ago

@whedon set @vchuravy as editor

whedon commented 1 year ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@whedon commands
matbesancon commented 1 year ago

@whedon commands

whedon commented 1 year ago

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# All commands can be run on a non-default branch, to do this pass a custom 
# branch name by following the command with `from branch custom-branch-name`.
# For example:

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to do a dry run of accepting the paper and depositing with Crossref
@whedon recommend-accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

EiC TASKS

# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor

# Reject a paper
@whedon reject

# Withdraw a paper
@whedon withdraw

# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true
matbesancon commented 1 year ago

@whedon assign @vchuravy as editor

whedon commented 1 year ago

OK, the editor is @vchuravy

vchuravy commented 1 year ago

@omlins any suggestions for reviewers.

carstenbauer commented 1 year ago

@whedon assign @ranjanan as editor

whedon commented 1 year ago

OK, the editor is @ranjanan

omlins commented 1 year ago

We would suggest sloede for the review.

ranjanan commented 1 year ago

@whedon generate pdf

whedon commented 1 year ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

smartalecH commented 1 year ago

@omlins the manuscript mentions all experiments benchmark weak scaling (where the global size of the problem increases with resource count such that the burden on each individual resource remains constant) but the linked repo seems to indicate that the global problem size stays fixed as a function of GPU count. Namely, the jl script and the data itself seem to indicate that a global problem size of 512x512x512 is always used (independent of GPU/process count, such that each local domain shrinks with larger resource counts).

Am I misinterpreting something? Perhaps with how the local vs global grid is defined?

I also only see the data/codes for the diffusion experimental results. Perhaps the other experimental results are stored elsewhere?

(Sorry to hijack the thread a bit... but this seemed the most relevant place to post...)

Thanks!

smartalecH commented 1 year ago

Namely, the jl script and the data itself seem to indicate that a global problem size of 512x512x512 is always used (independent of GPU/process count, such that each local domain shrinks with larger resource counts).

Ah it seems this is where the "implicit" part of the global grid comes into play. In other words, the user always specifies the local grid, and those parameters are used to implicitly generate a global grid where each process uses identical parameters.

This is a bit different paradigm than what I'm used to. Usually we specify the global grid first and choose a distributed topology based on available resources etc (which also allows one to perform load balancing, optimize for chunks that minimize communication overhead, etc). But there's a lot of value to the simplicity offered here. Especially since we often run distributed simulations on identical hardware and want to maximize each individual node.

omlins commented 1 year ago

Ah it seems this is where the "implicit" part of the global grid comes into play. In other words, the user always specifies the local grid, and those parameters are used to implicitly generate a global grid where each process uses identical parameters.

I'm glad you figured it out yourself! :+1:

matbesancon commented 1 year ago

@whedon assign @fcdimitr as editor

fcdimitr commented 11 months ago

@whedon assign @georgebisbas as reviewer

whedon commented 11 months ago

OK, @georgebisbas is now a reviewer

fcdimitr commented 11 months ago

Hi @omlins. I am giving a quick update from my side.

I found a first reviewer. I'll try to find a second one ASAP.

@georgebisbas, thank you for volunteering as a reviewer. You can find more details on the JuliaCon review process here. Note this submission is still in pre-review, and the review will start once I find a second reviewer. Meanwhile, feel free to ask me any questions you have.

fcdimitr commented 10 months ago

@mloubout, thank you for volunteering as a reviewer. You can find more details on the JuliaCon review process here. Note that this submission is still in pre-review, and the review will start shortly. Meanwhile, feel free to ask me any questions you have.

fcdimitr commented 10 months ago

@whedon assign @mloubout as reviewer

whedon commented 10 months ago

OK, @mloubout is now a reviewer

fcdimitr commented 10 months ago

@whedon help

whedon commented 10 months ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@whedon commands
fcdimitr commented 10 months ago

@whedon commands

whedon commented 10 months ago

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# All commands can be run on a non-default branch, to do this pass a custom 
# branch name by following the command with `from branch custom-branch-name`.
# For example:

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to do a dry run of accepting the paper and depositing with Crossref
@whedon recommend-accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

EiC TASKS

# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor

# Reject a paper
@whedon reject

# Withdraw a paper
@whedon withdraw

# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true
fcdimitr commented 10 months ago

@whedon add @georgebisbas as reviewer

whedon commented 10 months ago

OK, @georgebisbas is now a reviewer

fcdimitr commented 10 months ago

@whedon start review

whedon commented 10 months ago

OK, I've started the review over in https://github.com/JuliaCon/proceedings-review/issues/137.