carpentries-incubator / lesson-gpu-programming

GPU Programming with Python and CUDA.
https://carpentries-incubator.github.io/lesson-gpu-programming/
Other
19 stars 12 forks source link

Revision of Episode 2 (Using your GPU with CuPy) #105

Open wmotion opened 9 months ago

wmotion commented 9 months ago

The revision in this pull request covers specifically episode two. At the time of writing, it did not cover the questions and objectives (top of page) and the keypoints (bottom of page). The last three sections have been revised only lightly; suggestions as to how to proceed are given. Specific issues may follow at a later time.

The topic branch tied to this pull request is Episode-02 (thus, not main). Its first commit is 'empty' (that is, no change in working tree) just to mark the detachment from the main branch. This branch also contains merges from secondary branches dedicated to code changes, linguistic changes, pedagogic changes. The arrangement of these secondary branches in the fork is my own experimentation with content management: they should be of little import for the pull request.

The beginning of the commit subject indicates whether the focus was on code changes, linguistic changes, or pedagogical changes. The last two are largely tied to each other: pedagogical changes implies more attention for the process of learning and for ways to encourage learning and retention. Some commit messages are lengthy with a (hoped-for) purpose to explain the underlying assumptions and possible alternatives.

Of course, it holds for all edits that the course developers/content experts should double-check whether the new text has stayed true to the original intentions. Long live version control!

SPECIAL COMMITS

The commits from 1abb082 through cdf743d regard semantic newlines (one sentence = one line) and rote spellchecking. This handling makes it possible exploit the Git toolbox to maximum clarity, using the same units Git uses for comparisons. Think of informative git diff and git merge operations. Therefore, pulling these commits should be fail-safe and is recommended at any rate.

Commits db44928 and 591d289 explain the editing approach to the first half of the episode (Convolution), at least as is was conceived at the start. Other commits could also contain relevant annotations, though.

Commit 9dd5c8c explains the unfinished work on the second half of the episode (image processing in astronomy).

ACKNOWLEDGED ERRORS (SO FAR)

In commit 9dd5c8c I had not understood the direction of the image processing method yet. The standard deviation of a clipped data is used as standard deviation for the entire data set (as I understood it now). Please take this as a piece of evidence that the method is not explained clearly.

github-actions[bot] commented 9 months ago

Thank you!

Thank you for your pull request :smiley:

:robot: This automated message can help you check the rendered files in your submission for clarity. If you have any questions, please feel free to open an issue in {sandpaper}.

If you have files that automatically render output (e.g. R Markdown), then you should check for the following:

Rendered Changes

:mag: Inspect the changes: https://github.com/carpentries-incubator/lesson-gpu-programming/compare/md-outputs..md-outputs-PR-105

The following changes were observed in the rendered markdown documents:

 cupy.md              | 551 ++++++++++++++++++++++++++-------------------------
 fig/diracs.png (new) | Bin 0 -> 3246 bytes
 md5sum.txt           |   2 +-
 3 files changed, 287 insertions(+), 266 deletions(-)
What does this mean? If you have source files that require output and figures to be generated (e.g. R Markdown), then it is important to make sure the generated figures and output are reproducible. This output provides a way for you to inspect the output in a diff-friendly manner so that it's easy to see the changes that occur due to new software versions or randomisation.

:stopwatch: Updated at 2023-11-28 13:12:31 +0000

wmotion commented 9 months ago

In order to help evaluate the changes, the attached files are the PDFs of the episode at the commits

The links above point to the documents.

Take note that the number of pages of the documents differs because they were rendered with a different font size at print time. I could not even out this difference with elemental fiddling. Nonetheless, the original document contains 4659 words (Rmd source), the revised one 4519 words. Keep in mind, at any rate, that brevity and conciseness are two different notions, so a shorter document is not necessarily clearer.

HannoSpreeuw commented 9 months ago

Seems like you put a lot of effort into this, great!

Sadly, I can currently not review this, since lesson development has been suspended until further notice and at least until the end of this year.