Skip to content
Snippets Groups Projects

[WIP] Adaptive output: logger

Closed Loic Hausammann requested to merge logger into master

No need to read my commit yet, I am only starting on it (still some bugs, a few things to implement and need to run format.sh)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Thanks for pushing this!

    As a habit, could I recommend breaking things down into more and smaller commits? This makes it a bit easier to track what has been done, and easier to fix problems should they arise.

  • Ok, I will try

  • Naive question: do we need to make this a task from day one ? Wouldn't it be easier to start outside of the task/thread world to first solve the disk, memorymaps and i/o related issues before making it into the parallel system ?

  • @matthieu, I would. By encapsulating all the functionality in a single task type we can keep the code separate from the rest and avoid sprinkling changes throughout the other tasks.

    It's also a good way for @lhausammann to learn about tasks :smiley:

  • Ok. It makes it harder for you to maintain the branch alive as you are working on the same files as everyone else. I'd encourage to regularly rebase (not merge) this branch with the latest master.

  • The task part is almost done (maybe not yet done nicely, but working). I have created a new task as @nnrw56 suggested.

    As long I am using only one thread, I should be safe from parallel bugs and should be able to solve all theses problems "easily".

    @matthieu Ok I will do. (I will deal with current conflicts later)

176 178 c->kick1 = scheduler_addtask(s, task_type_kick1, task_subtype_none, 0, 0,
177 179 c, NULL);
178 180
181 if (is_logger)
182 c->logger = scheduler_addtask(s, task_type_logger, task_subtype_none, 0, 0,
  • Are you adding any dependencies to this task, e.g. scheduler_addunlock(s, c->kick1, c->logger)? Note that kick1 happens after kick2 ;)

  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 231b9f33 - small modifications
  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 9885c716 - Start working on logger
  • Loic Hausammann Added 380 commits:

    Added 380 commits:

    • 9885c716...582d0fec - 379 commits from branch master
    • f5dd70aa - Start working on logger
  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 5bbfa021 - Add index file writing.
  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 8766c3f4 - Compute correctly the number of task
  • Loic Hausammann Added 277 commits:

    Added 277 commits:

    • 8766c3f4...c5368d3c - 274 commits from branch master
    • 92ca5190 - Start working on logger
    • 8a322cc5 - Add index file writing.
    • 8aea5b8c - Compute correctly the number of task
  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 5ed14f2a - Move last_output to xpart
  • 480 480 struct part *restrict p, struct xpart *restrict xp) {
    481 481
    482 482 p->time_bin = 0;
    483 p->last_offset = 0;
    • right, done it in my last commit. Should we move last_offset to? I tried but the hydro_write_particles accept only a part and I need last_offset to write an index file.

  • Unable to load the diff
  • Loic Hausammann Added 1 commit:

    Added 1 commit:

    • 59d47357 - Add unlock to logger tasks
  • Can I suggest to not add content to single_io.c ? I'd rather have this file dump a snapshot and not be altered. Also if you start your own set of i/o files then you don't have to rely on the same mechanism and hence won't be limited by the usage of xpart vs. part.

    Also, can we leave active.h as it is and move the new functions to logger.h (for instance)? I am trying to minimize the overlap of these changes with the rest of the code for now.

    Edited by Matthieu Schaller
  • Unable to load the diff
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading