xref: /aosp_15_r20/external/pytorch/test/test_mkldnn_verbose.py (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker# Owner(s): ["module: unknown"]
2*da0073e9SAndroid Build Coastguard Worker
3*da0073e9SAndroid Build Coastguard Workerfrom torch.testing._internal.common_utils import TestCase, run_tests
4*da0073e9SAndroid Build Coastguard Workerimport os
5*da0073e9SAndroid Build Coastguard Workerimport subprocess
6*da0073e9SAndroid Build Coastguard Workerimport sys
7*da0073e9SAndroid Build Coastguard Worker
8*da0073e9SAndroid Build Coastguard Workerclass TestMKLDNNVerbose(TestCase):
9*da0073e9SAndroid Build Coastguard Worker    def test_verbose_on(self):
10*da0073e9SAndroid Build Coastguard Worker        num = 0
11*da0073e9SAndroid Build Coastguard Worker        loc = os.path.dirname(os.path.abspath(__file__))
12*da0073e9SAndroid Build Coastguard Worker        with subprocess.Popen(f'{sys.executable} -u {loc}/mkldnn_verbose.py --verbose-level=1', shell=True,
13*da0073e9SAndroid Build Coastguard Worker                              stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as p:
14*da0073e9SAndroid Build Coastguard Worker            for line in p.stdout.readlines():
15*da0073e9SAndroid Build Coastguard Worker                line = str(line, 'utf-8').strip()
16*da0073e9SAndroid Build Coastguard Worker                if line.startswith("onednn_verbose"):
17*da0073e9SAndroid Build Coastguard Worker                    num = num + 1
18*da0073e9SAndroid Build Coastguard Worker                elif line == 'Failed to set MKLDNN into verbose mode. Please consider to disable this verbose scope.':
19*da0073e9SAndroid Build Coastguard Worker                    return
20*da0073e9SAndroid Build Coastguard Worker        self.assertTrue(num > 0, 'oneDNN verbose messages not found.')
21*da0073e9SAndroid Build Coastguard Worker
22*da0073e9SAndroid Build Coastguard Worker    def test_verbose_off(self):
23*da0073e9SAndroid Build Coastguard Worker        num = 0
24*da0073e9SAndroid Build Coastguard Worker        loc = os.path.dirname(os.path.abspath(__file__))
25*da0073e9SAndroid Build Coastguard Worker        with subprocess.Popen(f'{sys.executable} -u {loc}/mkldnn_verbose.py --verbose-level=0', shell=True,
26*da0073e9SAndroid Build Coastguard Worker                              stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as p:
27*da0073e9SAndroid Build Coastguard Worker            for line in p.stdout.readlines():
28*da0073e9SAndroid Build Coastguard Worker                line = str(line, 'utf-8').strip()
29*da0073e9SAndroid Build Coastguard Worker                if line.startswith("onednn_verbose"):
30*da0073e9SAndroid Build Coastguard Worker                    num = num + 1
31*da0073e9SAndroid Build Coastguard Worker        self.assertEqual(num, 0, 'unexpected oneDNN verbose messages found.')
32*da0073e9SAndroid Build Coastguard Worker
33*da0073e9SAndroid Build Coastguard Workerif __name__ == '__main__':
34*da0073e9SAndroid Build Coastguard Worker    run_tests()
35