Skip to content

Conversation

@jainapurva
Copy link
Contributor

No description provided.

@pytorch-bot
Copy link

pytorch-bot bot commented Dec 3, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/ao/3419

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 New Failure

As of commit 30dc793 with merge base 73730e8 (image):

NEW FAILURE - The following job has failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Dec 3, 2025
and not is_sm_at_least_100()
)

if skip_conv_benchmarks:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel conditions seems a bit convoluted here

maybe:

if do_benchmarks:
    if op_name in ("conv2d", "conv3d") and not is_sm_at_least_100():
        print warning
   else:
      # can also move this part to a function to make it clearer
       ....

r_speedup = None
# use roofline model to estimate gemm time using equivalent GEMM dims
r_bf16_gemm_time_s = float(
bf16_gemm_time_sympy.subs(M, gemm_M).subs(K, gemm_K).subs(N, gemm_N)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the memory operations of conv the same as linear well?

mem_gemm_time_s = (

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As conv is an implicit gemm, I'm assuming the memory operations for gemm and conv should be same.

print()
else:
# TODO: enable roofline analysis for conv
pass
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we share the same thing, we should remove this if/else branch and inline the code in if here I think

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kept if/else just incase of an unexpected op_name. We can either make the code verify op_name in beginning to avoid any errors, or assume the input for op_name will always be correct

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already verify that in L264 I think


# real gemm benchmark time, also not added yet
# if enabled, also measured observed gemm time
# gemm benchmarks for conv not implemented, as conv uses implicit GEMM
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should run the conv ops I think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants