コード例 #1
0
    def test_profile(self):
        profiler.start()
        with traceme.TraceMe('three_times_five'):
            three = constant_op.constant(3)
            five = constant_op.constant(5)
            product = three * five
        self.assertAllEqual(15, product)
        with self.assertRaises(profiler.ProfilerAlreadyRunningError):
            profiler.start()

        profile_result = profiler.stop()
        profile_pb = trace_events_pb2.Trace()
        profile_pb.ParseFromString(profile_result)
        devices = frozenset(device.name
                            for device in profile_pb.devices.values())
        self.assertIn('/host:CPU', devices)
        if not test_util.IsBuiltWithROCm() and config.list_physical_devices(
                'GPU'):
            # device tracing is not yet supported on the ROCm platform
            self.assertIn('/device:GPU:0', devices)
        events = frozenset(event.name for event in profile_pb.trace_events)
        self.assertIn('three_times_five', events)
        self.assertIn('Mul', events)
        with self.assertRaises(profiler.ProfilerNotRunningError):
            profiler.stop()
コード例 #2
0
 def test_save_profile(self):
     logdir = self.get_temp_dir()
     profile_pb = trace_events_pb2.Trace()
     profile_result = profile_pb.SerializeToString()
     profiler.save(logdir, profile_result)
     file_list = gfile.ListDirectory(logdir)
     self.assertEqual(len(file_list), 2)
     for file_name in gfile.ListDirectory(logdir):
         if gfile.IsDirectory(os.path.join(logdir, file_name)):
             self.assertEqual(file_name, 'plugins')
         else:
             self.assertTrue(file_name.endswith('.profile-empty'))
コード例 #3
0
    def test_profile(self):
        profiler.start(options={'host_tracer_level': 3})
        with trace.Trace('three_times_five'):
            three = constant_op.constant(3)
            five = constant_op.constant(5)
            product = three * five
        self.assertAllEqual(15, product)
        with self.assertRaises(profiler.ProfilerAlreadyRunningError):
            profiler.start()

        profile_result = profiler.stop()
        profile_pb = trace_events_pb2.Trace()
        profile_pb.ParseFromString(profile_result)
        devices = frozenset(device.name
                            for device in profile_pb.devices.values())
        self.assertIn('/host:CPU', devices)
        if config.list_physical_devices('GPU'):
            self.assertIn('/device:GPU:0', devices)
        events = frozenset(event.name for event in profile_pb.trace_events)
        self.assertIn('three_times_five', events)
        self.assertIn('Mul', events)
        with self.assertRaises(profiler.ProfilerNotRunningError):
            profiler.stop()