GithubHelp home page GithubHelp logo

Comments (4)

ShreyasKhandekar avatar ShreyasKhandekar commented on June 9, 2024

I have the PR linked above that adds an if statement to avoid the kernel launch. I did not make any changes to the GPU diagnostics yet.

from chapel.

stonea avatar stonea commented on June 9, 2024

A question that we should answer is whether GpuDiagnostics should register a loop like that as a kernel launch, or not. My initial reflex was that "Yes, it should."

My initial reflex would be the opposite. If we're not launching a kernel then why would we count it as a kernel launch?

from chapel.

bradcray avatar bradcray commented on June 9, 2024

I agree with Andy. I think if we squash the launch into (effectively) a no-op, it should not be counted since it suggests an overhead or cost that isn't actually being incurred and can't be further optimized away.

from chapel.

e-kayrakli avatar e-kayrakli commented on June 9, 2024

I agree with Andy and Brad -- it should not count as a launch.

My point in the OP:

Imagine a hypothetical scenario where we may choose between GPU/CPU execution based on some loop characteristic either statically or dynamically potentially as an optimization. In such a scenario, I would want GpuDiagnostics to reflect the actual behavior.

Resonated more and more over time for me. My slightly more practical thought experiment for this case was: imagine we have an optimization where we don't fire kernels for loops that trip less than 10 times. What do you expect GpuDiagnostics to do in that case? My answer to that is very clear and that it should not count that as a launch.

from chapel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.