Could blazemark work without blaze?

Issue #172 wontfix
Mario Emmenlauer created an issue

Dear Klaus and all, I understand that this may be a bold request, so please close it if I'm pushing my limits here: I very much appreciate blazemark and I would like to discuss if it could be modified to be even more generic, so that any combination of libraries can be enabled or disabled. Usually I compare other libraries against blaze. But when I find a specific result interesting, it may be valid to focus more work on a single library, or sometimes I'm just interested in a specific subset.

Currently this breaks for one reason: blazemark estimates the number of steps in the mehod estimateSteps() based on the speed of blaze. I think its possible to change this, and instead of blaze estimate the number of steps based on i.e. a clike implementation that is generically available on all c++ compilers?

I would use this effort to hit two flies with one stone: currently the main routine of every benchmark contains a duplicate implementation of the blaze benchmark in estimateSteps(). I think it may be possbile to get a reasonable good estimate for the number of steps from a generic operation instead of a per-benchmark method. If the number of Flops is known, and the kind of operations is known, it should be possible to make a generic method that executes the kind of operation on a clike memory buffer. The estimate may not be perfectly accurate, but then again, estimateSteps() does not need to be super precise, or does it?

Is this technically feasible, or are there problems that I'm overlooking? And would you accept such a change into blazemark?

All the best, Mario

Comments (6)

  1. Klaus Iglberger

    Hi Mario!

    Thanks for the proposal. It would certainly be possible to adapt the Blazemark accordingly, but we will remove the Blazemark in one of the next releases. Therefore the effort to implement this change would not be well spent. However, please feel free to create a similar performance comparison tool based on the Blazemark.

    Best regards,

    Klaus!

  2. Mario Emmenlauer reporter

    Dear Klaus,

    With your permission I will then create a fork of Blazemark to keep this great work alive. I'm not sure how well I can maintain it (certainly not as great as you) but I'll do my best to keep Blazemark useful. A few humble questions: 1. Do you prefer if I keep the name, change the name, or no preference? I personally would keep the name, but other options like "Tensormark" would also be fine, anything you prefer... 2. Are there specific parts of documentation or readme that I should change or preserve? I.e. do you prefer if I keep the strong reference to Blaze from Blazemark, or do you prefer if the new project becomes more independent?

    All the best, Mario

  3. Klaus Iglberger

    Hi Mario!

    We would prefer an independent project with different name. There is nothing that needs to be preserved. On the contrary, we would strongly recommend a complete rework of everything since the way performance measurement is performed does not reflect the current state-of-the-art and should not be used to create official performance comparisons anymore. For that reason, instead of forking the Blazemark it would be more advisable to create a new tool. The Blazemark is deprecated since we don't have the time for this rework and because it is used by very few people.

    Best regards,

    Klaus!

  4. Mario Emmenlauer reporter

    Dear Klaus,

    ok I understand and it sounds good to me. I will still start with a direct fork of the code but with the goal of rewriting it in the future. I will start the fork under a new name like Tensormark and will remove the direct references to Blaze. To be sure, do you want me also to remove the mention of "Copyright (C) 2012-2018 Klaus Iglberger - All Rights Reserved"? Should I then keep at least a reference to the original authors or something? I could replace it with something anonymous like "Copyright (C) 2019 the Tensormark authors - All Rights Reserved" if you prefer that?

    All the best, Mario

  5. Klaus Iglberger

    Hi Mario!

    As long as you build on the original Blaze code you will have to preserve the copyright notice (see point 1 of the license).

    Best regards,

    Klaus!

  6. Log in to comment