Add Numba CPU+CUDA support for RNNT Loss
State: closed | Pull request: yes

# Changelog
- Add Numba CUDA + CPU kernels for RNNT Loss ported from https://github.com/HawkAaron/warp-transducer
- Add tests for CUDA + CPU kernels + reference numpy implementation.

# Todo:
- [x] Add documentation for all kernels and wrapped modules
- [x] Add Typing information to `RNNTLossNumba` (Done by resolver)
- [x] Rename this module to avoid clash with original `warprnnt_pytorch` loss
- [x] Add WarpRNNT LICENSE header in all files that implement functionality as ported.
- [x] Fix imports inside `__init__.py`
- [x] Enable loss switching for RNNT / RNNTBPE models via config (done in next PR)

This pull request **introduces 1 alert** when merging 9de7bc589925be7b77ffcaa8fad5ffe14115971e into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-9075874939d4e184867f5ce3384215d359cffa1d)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 8f8a275bc0321594d826a55b91750ea1cfd7b309 into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-5702410f047f78f5ebaca2b3ad87b84a369204ef)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging e454c4c70dee1a67c73d14585861fc4610532a80 into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-165135c81c13b53411b41f1e0f9f5cf9f515bee4)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 4946314772b952f444e1987916b49a47f1f23534 into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-b0d15459dd8c2abe527d715a5a24ac92a14546ae)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging ea51c3bc89ae0e1f82c716660d23292975adac0f into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-5e16827ec1a959c6e51f28f101ab929799a0b6db)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging aea2b7278270f0d796712b3a079b390d9c718885 into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-3353ae343a0372e2b188232c07455155bf4163d7)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging bcb683ae9433d3c7c3ccfae71f648932e2d8249d into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-abc49ad19b712e818b0805472983308351fb9d74)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 5addd5014507e769fdc2700e14e501183bf54bd7 into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-1c0a2b37f5c7205bf9a1c9662429605a9df6e7e3)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging af028e9e1e7a3a40389c59790868c181cab9607d into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-45592136e0f1e62132408bb0de4eedcb314936d9)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 8edd7f134be7cf2b2d415cb3123bd0a2120e13cb into 74a1ed8618872d331fcea3133d47b8b3552c435f - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-b4c1efb631689292d9cf6c19c8a2a488b511fea1)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 5bf8f3dd8229d94784d1f301d9ab5987a70e5813 into e8912ca6e3321347272a6a7da18e052812fb2062 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-646fe486329bfa5221e90de446743d60ef1dc076)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging b3f93aea208c0ab36b565b512e82917ffa6b7339 into aaab31781309fa2c6a3e5e3cb91e4ee7f4d002c8 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-b0c16830e674bdfaf523e442d9a41a66f39909df)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 9cdc539c6fa572a78284a4f9dd2fdccf25b16f2d into d623109ee752f654355c141bae43b64b2b98dba8 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-6474142b94e4abb4a8b7d85403bbbbbf08fc112a)

**new alerts:**

* 1 for Unused local variable

This pull request **introduces 1 alert** when merging 19215a16d84f72539a08ce91f99d8e1aa64dc33e into 480bbc39b8c35f2f5ff0e2a2b61f4e2526de28eb - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-621b2b8007367a6fb5be4448bf9d3840f1ae809e)

**new alerts:**

* 1 for Unused local variable