A library for accelerating Transformer models on NVIDIA GPUs, including using 8-bit floating point (FP8) precision on Hopper and Ada GPUs, to provide better performance with lower memory utilization in both training and inference.
889 introduced a logging mechanism, which we really appreciate. But now there are multiple calls to logging.basicConfig() in the global/import scope (here). I think it makes more sense to call logging.basicConfig() on an application level inside a main function and not in a library in global scope.
For example in our training code we call logging.basicConfig() in the main function and this now overrides the settings done by transformer-engine. This means that the setup based on the environmental variables NVTE_DEBUG and NVTE_DEBUG_LEVEL gets overriden as well. We had to explicitly suppress the logging with logging.getLogger("DotProductAttention").setLevel(logging.WARNING) in our application code because of the huge amount of log messages by transformer-engine.
A possible solution is to remove the logging.basicConfig() from global scope and instead set the log level of each individual logger based on the corresponding environment variables.
Hello transformer-engine team,
889 introduced a logging mechanism, which we really appreciate. But now there are multiple calls to
logging.basicConfig()
in the global/import scope (here). I think it makes more sense to calllogging.basicConfig()
on an application level inside a main function and not in a library in global scope.For example in our training code we call
logging.basicConfig()
in the main function and this now overrides the settings done by transformer-engine. This means that the setup based on the environmental variablesNVTE_DEBUG
andNVTE_DEBUG_LEVEL
gets overriden as well. We had to explicitly suppress the logging withlogging.getLogger("DotProductAttention").setLevel(logging.WARNING)
in our application code because of the huge amount of log messages by transformer-engine.A possible solution is to remove the
logging.basicConfig()
from global scope and instead set the log level of each individual logger based on the corresponding environment variables.Happy to discuss about this 😄