Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

GPU gemms true fp16 (#17466) #18023

Merged
merged 1 commit into from
Apr 15, 2020
Merged

Conversation

MoisesHer
Copy link
Contributor

  • Temporal solution for fp16 accumulation in Bert gemms

  • Resolve alpha/beta type issue

  • add documentation for env variable MXNET_FC_TRUE_FP16

  • Improve description of env variable

  • Add unitest checking environment variable

  • keep pseudo-fp16 if architecture does not support Float16Compute

  • Fix cpplint

Description

This PR allows true FP16 in CUBLAS gemms if environment variable MXNET_FC_TRUE_FP16 is set to true

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage:
  • Unit tests are added for small changes to verify correctness (e.g. adding a new operator):
    tests/python/gpu/test_gluon_gpu:test_gemms_true_fp16
  • Code is well-documented:
  • To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

  • General half_precision Gemm: allows true fp16 if MXNET_FC_TRUE_FP16 is set
  • Transformer: allows true fp16 if MXNET_FC_TRUE_FP16 is set

Comments

* Temporal solution for fp16 accumulation in Bert gemms

* Resolve alpha/beta type issue

* add documentation for env variable MXNET_FC_TRUE_FP16

* Improve description of env variable

* Add unitest checking environment variable

* keep pseudo-fp16 if architecture does not support Float16Compute

* Fix cpplint
@mxnet-bot
Copy link

Hey @MoisesHer , Thanks for submitting the PR
All tests are already queued to run once. If tests fail, you can trigger one or more tests again with the following commands:

  • To trigger all jobs: @mxnet-bot run ci [all]
  • To trigger specific jobs: @mxnet-bot run ci [job1, job2]

CI supported jobs: [unix-gpu, miscellaneous, edge, unix-cpu, windows-gpu, centos-gpu, centos-cpu, windows-cpu, website, clang, sanity]


Note:
Only following 3 categories can trigger CI :PR Author, MXNet Committer, Jenkins Admin.
All CI tests must pass before the PR can be merged.

@MoisesHer MoisesHer mentioned this pull request Apr 10, 2020
5 tasks
@ptrendx ptrendx added the v1.x Targeting v1.x branch label Apr 10, 2020
@ciyongch
Copy link
Contributor

Adding this to 1.7.0 roadmap #16864.

@leezu
Copy link
Contributor

leezu commented Apr 11, 2020

@mxnet-bot run ci [windows-gpu]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [windows-gpu]

@MoisesHer
Copy link
Contributor Author

@mxnet-bot run ci [all]

@mxnet-bot
Copy link

Jenkins CI successfully triggered : [sanity, windows-gpu, edge, unix-cpu, miscellaneous, unix-gpu, website, centos-cpu, windows-cpu, clang, centos-gpu]

@ptrendx ptrendx merged commit 2ccbcec into apache:v1.x Apr 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
v1.x Targeting v1.x branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants