First pass at gpu export in nemo
State: closed | Pull request: yes

# What does this PR do ?

Add a one line overview of what this PR aims to accomplish.

**Collection**: [Note which collection this PR will affect]

# Changelog 
- Add specific line by line info of high level changes in this PR.

# Usage
* You can potentially add a usage example below

```python
# Add a code snippet demonstrating how to use this 
```

# GitHub Actions CI

The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.

The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
To re-run CI remove and add the label again.
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".

# Before your PR is "Ready for review"
**Pre checks**:
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [ ] New Feature
- [ ] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to # (issue)


<!-- pylint-output-strict-mode-false -->

beep boop 🤖: 🙏 The following files have warnings. In case you are familiar with these, please try helping us to improve the code base.

---

Your code was analyzed with PyLint. The following annotations have been identified:

```
************* Module nemo.export.tensorrt_llm
nemo/export/tensorrt_llm.py:103:0: C0301: Line too long (114/100) (line-too-long)
nemo/export/tensorrt_llm.py:153:0: C0301: Line too long (148/100) (line-too-long)
nemo/export/tensorrt_llm.py:167:0: C0301: Line too long (109/100) (line-too-long)
nemo/export/tensorrt_llm.py:236:0: C0301: Line too long (102/100) (line-too-long)
nemo/export/tensorrt_llm.py:254:0: C0301: Line too long (123/100) (line-too-long)
nemo/export/tensorrt_llm.py:255:0: C0301: Line too long (110/100) (line-too-long)
nemo/export/tensorrt_llm.py:260:0: C0301: Line too long (103/100) (line-too-long)
nemo/export/tensorrt_llm.py:280:0: C0301: Line too long (106/100) (line-too-long)
nemo/export/tensorrt_llm.py:291:0: C0301: Line too long (113/100) (line-too-long)
nemo/export/tensorrt_llm.py:299:0: C0301: Line too long (115/100) (line-too-long)
nemo/export/tensorrt_llm.py:307:0: C0301: Line too long (110/100) (line-too-long)
nemo/export/tensorrt_llm.py:316:0: C0301: Line too long (104/100) (line-too-long)
nemo/export/tensorrt_llm.py:362:0: C0301: Line too long (108/100) (line-too-long)
nemo/export/tensorrt_llm.py:365:0: C0301: Line too long (109/100) (line-too-long)
nemo/export/tensorrt_llm.py:370:0: C0301: Line too long (108/100) (line-too-long)
nemo/export/tensorrt_llm.py:382:0: C0301: Line too long (186/100) (line-too-long)
nemo/export/tensorrt_llm.py:398:0: C0301: Line too long (103/100) (line-too-long)
nemo/export/tensorrt_llm.py:506:0: C0301: Line too long (101/100) (line-too-long)
nemo/export/tensorrt_llm.py:546:0: C0301: Line too long (106/100) (line-too-long)
nemo/export/tensorrt_llm.py:560:0: C0301: Line too long (105/100) (line-too-long)
nemo/export/tensorrt_llm.py:579:0: C0301: Line too long (113/100) (line-too-long)
nemo/export/tensorrt_llm.py:586:0: C0301: Line too long (101/100) (line-too-long)
nemo/export/tensorrt_llm.py:612:0: C0301: Line too long (113/100) (line-too-long)
nemo/export/tensorrt_llm.py:643:0: C0301: Line too long (109/100) (line-too-long)
nemo/export/tensorrt_llm.py:678:0: C0301: Line too long (136/100) (line-too-long)
nemo/export/tensorrt_llm.py:692:0: C0301: Line too long (115/100) (line-too-long)
nemo/export/tensorrt_llm.py:780:0: C0301: Line too long (178/100) (line-too-long)
nemo/export/tensorrt_llm.py:781:0: C0301: Line too long (118/100) (line-too-long)
nemo/export/tensorrt_llm.py:798:0: C0301: Line too long (115/100) (line-too-long)
nemo/export/tensorrt_llm.py:902:0: C0301: Line too long (109/100) (line-too-long)
nemo/export/tensorrt_llm.py:908:0: C0301: Line too long (113/100) (line-too-long)
nemo/export/tensorrt_llm.py:920:0: C0301: Line too long (119/100) (line-too-long)
nemo/export/tensorrt_llm.py:941:0: C0301: Line too long (108/100) (line-too-long)
nemo/export/tensorrt_llm.py:949:0: C0301: Line too long (116/100) (line-too-long)
nemo/export/tensorrt_llm.py:953:0: C0301: Line too long (119/100) (line-too-long)
nemo/export/tensorrt_llm.py:956:0: C0301: Line too long (102/100) (line-too-long)
nemo/export/tensorrt_llm.py:1017:0: C0301: Line too long (118/100) (line-too-long)
nemo/export/tensorrt_llm.py:1099:0: C0301: Line too long (101/100) (line-too-long)
nemo/export/tensorrt_llm.py:1136:0: C0301: Line too long (101/100) (line-too-long)
nemo/export/tensorrt_llm.py:1163:0: C0301: Line too long (112/100) (line-too-long)
nemo/export/tensorrt_llm.py:1173:0: C0301: Line too long (108/100) (line-too-long)
nemo/export/tensorrt_llm.py:1178:0: C0301: Line too long (184/100) (line-too-long)
nemo/export/tensorrt_llm.py:1212:0: C0301: Line too long (131/100) (line-too-long)
nemo/export/tensorrt_llm.py:1216:0: C0301: Line too long (135/100) (line-too-long)
nemo/export/tensorrt_llm.py:1220:0: C0301: Line too long (103/100) (line-too-long)
nemo/export/tensorrt_llm.py:1228:0: C0301: Line too long (110/100) (line-too-long)
nemo/export/tensorrt_llm.py:1259:0: C0301: Line too long (113/100) (line-too-long)
nemo/export/tensorrt_llm.py:1265:0: C0301: Line too long (110/100) (line-too-long)
nemo/export/tensorrt_llm.py:1274:0: C0301: Line too long (121/100) (line-too-long)
nemo/export/tensorrt_llm.py:1:0: C0302: Too many lines in module (1321/1000) (too-many-lines)
nemo/export/tensorrt_llm.py:1:0: C0114: Missing module docstring (missing-module-docstring)
nemo/export/tensorrt_llm.py:26:0: E0401: Unable to import 'numpy' (import-error)
nemo/export/tensorrt_llm.py:27:0: E0401: Unable to import 'safetensors' (import-error)
nemo/export/tensorrt_llm.py:28:0: E0401: Unable to import 'tensorrt_llm' (import-error)
nemo/export/tensorrt_llm.py:29:0: E0401: Unable to import 'torch' (import-error)
nemo/export/tensorrt_llm.py:30:0: E0401: Unable to import 'wrapt' (import-error)
nemo/export/tensorrt_llm.py:31:0: E0401: Unable to import 'tensorrt_llm._utils' (import-error)
nemo/export/tensorrt_llm.py:57:0: C0103: Constant name "use_deploy" doesn't conform to UPPER_CASE naming style (invalid-name)
nemo/export/tensorrt_llm.py:60:7: W0718: Catching too general exception Exception (broad-exception-caught)
nemo/export/tensorrt_llm.py:61:4: C0103: Constant name "use_deploy" doesn't conform to UPPER_CASE naming style (invalid-name)
nemo/export/tensorrt_llm.py:67:0: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:74:0: C0103: Constant name "use_pytriton" doesn't conform to UPPER_CASE naming style (invalid-name)
nemo/export/tensorrt_llm.py:79:7: W0718: Catching too general exception Exception (broad-exception-caught)
nemo/export/tensorrt_llm.py:77:4: E0401: Unable to import 'pytriton.decorators' (import-error)
nemo/export/tensorrt_llm.py:78:4: E0401: Unable to import 'pytriton.model_config' (import-error)
nemo/export/tensorrt_llm.py:80:4: C0103: Constant name "use_pytriton" doesn't conform to UPPER_CASE naming style (invalid-name)
nemo/export/tensorrt_llm.py:90:0: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:97:0: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:103:59: C0103: Argument name "megatron_amp_O2" doesn't conform to snake_case naming style (invalid-name)
nemo/export/tensorrt_llm.py:108:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
nemo/export/tensorrt_llm.py:118:0: R0902: Too many instance attributes (23/7) (too-many-instance-attributes)
nemo/export/tensorrt_llm.py:137:4: R0913: Too many arguments (8/5) (too-many-arguments)
nemo/export/tensorrt_llm.py:137:4: R0917: Too many positional arguments (8/5) (too-many-positional-arguments)
nemo/export/tensorrt_llm.py:158:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:183:4: R0913: Too many arguments (34/5) (too-many-arguments)
nemo/export/tensorrt_llm.py:183:4: R0917: Too many positional arguments (34/5) (too-many-positional-arguments)
nemo/export/tensorrt_llm.py:183:4: R0914: Too many local variables (63/15) (too-many-locals)
nemo/export/tensorrt_llm.py:278:20: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:280:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:357:20: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:360:20: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:361:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:367:20: E0401: Unable to import 'megatron.core.export.data_type' (import-error)
nemo/export/tensorrt_llm.py:367:20: C0415: Import outside toplevel (megatron.core.export.data_type.DataType) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:368:20: E0401: Unable to import 'megatron.core.export.export_config' (import-error)
nemo/export/tensorrt_llm.py:368:20: C0415: Import outside toplevel (megatron.core.export.export_config.ExportConfig) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:369:20: E0401: Unable to import 'megatron.core.export.model_type' (import-error)
nemo/export/tensorrt_llm.py:369:20: C0415: Import outside toplevel (megatron.core.export.model_type.ModelType) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:370:20: E0401: Unable to import 'megatron.core.export.trtllm.model_to_trllm_mapping.default_conversion_dict' (import-error)
nemo/export/tensorrt_llm.py:370:20: C0415: Import outside toplevel (megatron.core.export.trtllm.model_to_trllm_mapping.default_conversion_dict.DEFAULT_CONVERSION_DICT) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:373:20: E0401: Unable to import 'megatron.core.export.trtllm.trtllm_helper' (import-error)
nemo/export/tensorrt_llm.py:373:20: C0415: Import outside toplevel (megatron.core.export.trtllm.trtllm_helper.TRTLLMHelper) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:374:20: E0401: Unable to import 'tensorrt_llm.layers' (import-error)
nemo/export/tensorrt_llm.py:374:20: C0415: Import outside toplevel (tensorrt_llm.layers.MoeConfig) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:453:23: R1714: Consider merging these comparisons with 'in' by using 'model_type in ('gpt', 'starcoder')'. Use a set instead if elements are hashable. (consider-using-in)
nemo/export/tensorrt_llm.py:183:4: R0912: Too many branches (33/12) (too-many-branches)
nemo/export/tensorrt_llm.py:183:4: R0915: Too many statements (90/50) (too-many-statements)
nemo/export/tensorrt_llm.py:323:22: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
nemo/export/tensorrt_llm.py:520:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:520:4: R0913: Too many arguments (10/5) (too-many-arguments)
nemo/export/tensorrt_llm.py:520:4: R0917: Too many positional arguments (10/5) (too-many-positional-arguments)
nemo/export/tensorrt_llm.py:520:4: R0914: Too many local variables (24/15) (too-many-locals)
nemo/export/tensorrt_llm.py:544:20: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:546:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:550:11: R1714: Consider merging these comparisons with 'in' by using 'model_type in ('gpt', 'starcoder')'. Use a set instead if elements are hashable. (consider-using-in)
nemo/export/tensorrt_llm.py:520:4: R0912: Too many branches (16/12) (too-many-branches)
nemo/export/tensorrt_llm.py:557:22: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
nemo/export/tensorrt_llm.py:597:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:598:8: E0401: Unable to import 'megatron.core.transformer.transformer_config' (import-error)
nemo/export/tensorrt_llm.py:598:8: C0415: Import outside toplevel (megatron.core.transformer.transformer_config.TransformerConfig) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:624:4: R0913: Too many arguments (12/5) (too-many-arguments)
nemo/export/tensorrt_llm.py:624:4: R0917: Too many positional arguments (12/5) (too-many-positional-arguments)
nemo/export/tensorrt_llm.py:624:4: R0914: Too many local variables (64/15) (too-many-locals)
nemo/export/tensorrt_llm.py:652:12: E0401: Unable to import 'megatron.core' (import-error)
nemo/export/tensorrt_llm.py:652:12: C0415: Import outside toplevel (megatron.core.parallel_state) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:653:12: E0401: Unable to import 'megatron.core.tensor_parallel.utils' (import-error)
nemo/export/tensorrt_llm.py:653:12: C0415: Import outside toplevel (megatron.core.tensor_parallel.utils.VocabUtility) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:655:22: E0602: Undefined variable 'pmcore_gpu_exportodel_parallel_rank' (undefined-variable)
nemo/export/tensorrt_llm.py:678:24: W1309: Using an f-string that does not have any interpolated variables (f-string-without-interpolation)
nemo/export/tensorrt_llm.py:651:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
nemo/export/tensorrt_llm.py:716:31: R1716: Simplify chained comparison between the operands (chained-comparison)
nemo/export/tensorrt_llm.py:651:8: R1702: Too many nested blocks (6/5) (too-many-nested-blocks)
nemo/export/tensorrt_llm.py:765:12: E0401: Unable to import 'megatron.core.export.data_type' (import-error)
nemo/export/tensorrt_llm.py:765:12: C0415: Import outside toplevel (megatron.core.export.data_type.DataType) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:766:12: E0401: Unable to import 'megatron.core.export.export_config' (import-error)
nemo/export/tensorrt_llm.py:766:12: C0415: Import outside toplevel (megatron.core.export.export_config.ExportConfig) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:767:12: E0401: Unable to import 'megatron.core.export.model_type' (import-error)
nemo/export/tensorrt_llm.py:767:12: C0415: Import outside toplevel (megatron.core.export.model_type.ModelType) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:768:12: E0401: Unable to import 'megatron.core.export.trtllm.model_to_trllm_mapping.default_conversion_dict' (import-error)
nemo/export/tensorrt_llm.py:768:12: C0415: Import outside toplevel (megatron.core.export.trtllm.model_to_trllm_mapping.default_conversion_dict.DEFAULT_CONVERSION_DICT) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:771:12: E0401: Unable to import 'megatron.core.export.trtllm.trtllm_helper' (import-error)
nemo/export/tensorrt_llm.py:771:12: C0415: Import outside toplevel (megatron.core.export.trtllm.trtllm_helper.TRTLLMHelper) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:772:12: E0401: Unable to import 'tensorrt_llm.layers' (import-error)
nemo/export/tensorrt_llm.py:772:12: C0415: Import outside toplevel (tensorrt_llm.layers.MoeConfig) (import-outside-toplevel)
nemo/export/tensorrt_llm.py:624:4: R0912: Too many branches (29/12) (too-many-branches)
nemo/export/tensorrt_llm.py:624:4: R0915: Too many statements (117/50) (too-many-statements)
nemo/export/tensorrt_llm.py:655:12: W0612: Unused variable 'tp_rank' (unused-variable)
nemo/export/tensorrt_llm.py:657:12: W0612: Unused variable 'tp_group' (unused-variable)
nemo/export/tensorrt_llm.py:663:12: W0612: Unused variable 'pp_is_last' (unused-variable)
nemo/export/tensorrt_llm.py:664:12: W0612: Unused variable 'pp_is_first' (unused-variable)
nemo/export/tensorrt_llm.py:653:12: W0611: Unused VocabUtility imported from megatron.core.tensor_parallel.utils (unused-import)
nemo/export/tensorrt_llm.py:766:12: W0611: Unused ExportConfig imported from megatron.core.export.export_config (unused-import)
nemo/export/tensorrt_llm.py:874:4: R0913: Too many arguments (16/5) (too-many-arguments)
nemo/export/tensorrt_llm.py:874:4: R0917: Too many positional arguments (16/5) (too-many-positional-arguments)
nemo/export/tensorrt_llm.py:874:4: R0914: Too many local variables (23/15) (too-many-locals)
nemo/export/tensorrt_llm.py:912:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)
nemo/export/tensorrt_llm.py:913:12: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:953:46: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
nemo/export/tensorrt_llm.py:953:68: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:961:47: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
nemo/export/tensorrt_llm.py:962:31: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:964:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
nemo/export/tensorrt_llm.py:965:16: R1703: The if statement can be replaced with 'var = bool(test)' (simplifiable-if-statement)
nemo/export/tensorrt_llm.py:874:4: R0912: Too many branches (17/12) (too-many-branches)
nemo/export/tensorrt_llm.py:1008:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:1010:12: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1017:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1017:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1029:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:1031:12: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate)
nemo/export/tensorrt_llm.py:1040:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:1045:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:1046:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return)
nemo/export/tensorrt_llm.py:1052:4: W0236: Method 'get_triton_input' was expected to be 'method', found it instead as 'property' (invalid-overridden-method)
nemo/export/tensorrt_llm.py:1069:4: W0236: Method 'get_triton_output' was expected to be 'method', found it instead as 'property' (invalid-overridden-method)
nemo/export/tensorrt_llm.py:1104:15: W0718: Catching too general exception Exception (broad-exception-caught)
nemo/export/tensorrt_llm.py:1105:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1111:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:1144:15: W0718: Catching too general exception Exception (broad-exception-caught)
nemo/export/tensorrt_llm.py:1145:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1111:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
nemo/export/tensorrt_llm.py:1152:12: R1731: Consider using 'self.task_vocab_size = max(self.task_vocab_size, pt['table'].size(dim=0))' instead of unnecessary if block (consider-using-max-builtin)
nemo/export/tensorrt_llm.py:1177:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1160:12: W0612: Unused variable 'i' (unused-variable)
nemo/export/tensorrt_llm.py:1200:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1227:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1228:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1259:16: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1269:18: W0212: Access to a protected member _utils of a client class (protected-access)
nemo/export/tensorrt_llm.py:1273:12: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1274:16: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1285:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
nemo/export/tensorrt_llm.py:1288:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
nemo/export/tensorrt_llm.py:1314:20: W0719: Raising too general exception: Exception (broad-exception-raised)
nemo/export/tensorrt_llm.py:1320:4: C0116: Missing function or method docstring (missing-function-docstring)
nemo/export/tensorrt_llm.py:642:8: W0201: Attribute 'use_refit' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:642:24: W0201: Attribute 'model_type' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:642:41: W0201: Attribute 'gpus_per_node' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:643:8: W0201: Attribute 'mp_rank' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:643:22: W0201: Attribute 'dp_rank' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:643:36: W0201: Attribute 'tp_size' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:643:50: W0201: Attribute 'pp_size' defined outside __init__ (attribute-defined-outside-init)
nemo/export/tensorrt_llm.py:643:64: W0201: Attribute 'dp_size' defined outside __init__ (attribute-defined-outside-init)

-----------------------------------
Your code has been rated at 5.13/10
```

---

Thank you for improving NeMo's documentation!