Skip to content

[JAX] Generalizing Activation Primitives - #810

Merged
phu0ngng merged 14 commits into
NVIDIA:mainfrom
phu0ngng:act_prim
May 3, 2024
Merged

[JAX] Generalizing Activation Primitives#810
phu0ngng merged 14 commits into
NVIDIA:mainfrom
phu0ngng:act_prim

Conversation

@phu0ngng

Copy link
Copy Markdown
Collaborator

This PR generalized the primitive blocks and respective C++ functions for activations.
Note that inputs for all activation functions should have x.shape[-2] == len(activation_type).
Tests and LayerNormMLP were also updated accordingly.

Comment threadtransformer_engine/jax/cpp_extensions.py Outdated
Comment threadtransformer_engine/jax/cpp_extensions.py Outdated
Comment threadtransformer_engine/jax/csrc/modules.cpp Outdated
Comment threadtransformer_engine/jax/csrc/modules.cpp Outdated
Comment threadtransformer_engine/jax/csrc/modules.cpp Outdated
Comment threadtests/jax/test_custom_call_compute.py Outdated
Comment threadtransformer_engine/jax/cpp_extensions.py Outdated
Comment threadtransformer_engine/jax/cpp_extensions.py Outdated
Comment threadtransformer_engine/jax/csrc/modules.h Outdated
Comment threadtransformer_engine/jax/mlp.py Outdated
Comment threadtransformer_engine/jax/csrc/modules.cpp Outdated
phu0ngng added a commit to phu0ngng/TransformerEngine that referenced this pull request May 1, 2024
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
phu0ngng added a commit to phu0ngng/TransformerEngine that referenced this pull request May 1, 2024
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
phu0ngng added 9 commits May 1, 2024 15:26
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Comment threadtests/jax/test_custom_call_compute.py Outdated
Comment threadtests/jax/test_custom_call_compute.py Outdated
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
@phu0ngng

Copy link
Copy Markdown
CollaboratorAuthor

/te-ci jax

Comment threadtransformer_engine/jax/cpp_extensions.py Outdated
Comment threadtransformer_engine/jax/cpp_extensions.py Outdated

@deneradenera left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM! We can merge once @zlsh80826 also approves for his requested changes and CI comes clean.

Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
@phu0ngng

Copy link
Copy Markdown
CollaboratorAuthor

/te-ci jax

@zlsh80826zlsh80826 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM!

@phu0ngng
phu0ngng merged commit aad4e17 into NVIDIA:mainMay 3, 2024
@phu0ngng
phu0ngng deleted the act_prim branch May 3, 2024 16:20
pggPL pushed a commit to pggPL/TransformerEngine that referenced this pull request May 23, 2024
* templated primitives and respective C++ functions
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* fixes for LayerNormMLP, tests in test_custom_compute all passed
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* added default arg for pybind get_workspace_size funcs
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* fixes for TestTransFormer with non-gated act tests
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* renamed gelu to act
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* improved enum implementation, avoid using magic numbers
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* Exposed C++ ActivationEnum to python side
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* Changed error messages
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* changed conditional check on input shape for dbias_cast_transpose
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* changed dtype (tol) for bias grad tests
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* fixes so that layer_norm_fp8_mlp can take bias = None
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
* Set bias = None in flax modules
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
---------
Signed-off-by: Phuong Nguyen <phuonguyen@nvidia.com>
Signed-off-by: Pawel Gadzinski <pgadzinski@nvidia.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or requestjax

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@phu0ngng@denera@zlsh80826