cast_based_on_args() — pytorch Function Reference
Architecture documentation for the cast_based_on_args() function in common.py from the pytorch codebase.
Entity Profile
Dependency Diagram
graph TD da8c81f0_c44b_4b89_914d_318c84a98a42["cast_based_on_args()"] 684ace56_6d9f_5ea1_f47a_cb8aa5834a49["validate_model()"] 684ace56_6d9f_5ea1_f47a_cb8aa5834a49 -->|calls| da8c81f0_c44b_4b89_914d_318c84a98a42 da0c865a_ac14_7a10_8fc5_8a3b7509426d["maybe_cast()"] da0c865a_ac14_7a10_8fc5_8a3b7509426d -->|calls| da8c81f0_c44b_4b89_914d_318c84a98a42 c9be2096_e6d7_2374_ad2e_a6e33f435ada["run()"] c9be2096_e6d7_2374_ad2e_a6e33f435ada -->|calls| da8c81f0_c44b_4b89_914d_318c84a98a42 f77ea0ed_facd_a7d6_7e4a_17f4bae6c1fe["setup_amp()"] da8c81f0_c44b_4b89_914d_318c84a98a42 -->|calls| f77ea0ed_facd_a7d6_7e4a_17f4bae6c1fe 966e8ab0_98c7_2f6a_55eb_0fa446f905f8["cast_to_fp32()"] da8c81f0_c44b_4b89_914d_318c84a98a42 -->|calls| 966e8ab0_98c7_2f6a_55eb_0fa446f905f8 9e3d0bf0_1f54_f3db_4072_b52d57cefb52["cast_to_fp16()"] da8c81f0_c44b_4b89_914d_318c84a98a42 -->|calls| 9e3d0bf0_1f54_f3db_4072_b52d57cefb52 e789c0d4_b1f7_d69d_736c_fb5c020174d2["cast_to_bf16()"] da8c81f0_c44b_4b89_914d_318c84a98a42 -->|calls| e789c0d4_b1f7_d69d_736c_fb5c020174d2 style da8c81f0_c44b_4b89_914d_318c84a98a42 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
benchmarks/dynamo/common.py lines 1993–2025
def cast_based_on_args(self, model, example_inputs):
if self.args.float32 or self.args.only in self.fp32_only_models:
if not self.args.float32:
log.warning("Model %s supports float32 only", self.args.only)
model, example_inputs = cast_to_fp32(model, example_inputs)
elif self.args.float16:
if self.args.only in self.force_amp_for_fp16_bf16_models:
log.warning(
"Model %s does not support float16, running with amp instead",
self.args.only,
)
self.args.amp = True
self.setup_amp()
else:
model, example_inputs = cast_to_fp16(model, example_inputs)
elif self.args.bfloat16:
if self.args.only in self.force_amp_for_fp16_bf16_models:
log.warning(
"Model %s does not support bfloat16, running with amp instead",
self.args.only,
)
self.args.amp = True
self.setup_amp()
elif self.args.only in self.force_fp16_for_bf16_models:
log.warning(
"Model %s does not support bfloat16, running with float16 instead",
self.args.only,
)
model, example_inputs = cast_to_fp16(model, example_inputs)
else:
model, example_inputs = cast_to_bf16(model, example_inputs)
return model, example_inputs
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does cast_based_on_args() do?
cast_based_on_args() is a function in the pytorch codebase.
What does cast_based_on_args() call?
cast_based_on_args() calls 4 function(s): cast_to_bf16, cast_to_fp16, cast_to_fp32, setup_amp.
What calls cast_based_on_args()?
cast_based_on_args() is called by 3 function(s): maybe_cast, run, validate_model.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free