mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-08 13:33:42 +08:00
22a8575199
Keep official openpilot ancestry and dependency licenses. Store resources directly in Git, remove LFS setup requirements, and leave the downloadable big model outside the source tree.
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
import unittest
|
|
from tinygrad import Device
|
|
from tinygrad.helpers import Timing, Profiling
|
|
|
|
class TestDeviceSpeed(unittest.TestCase):
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
cls.dev = Device[Device.DEFAULT]
|
|
cls.empty = Device[Device.DEFAULT].renderer.render([])
|
|
|
|
def test_empty_compile(self):
|
|
with Timing("compiler "):
|
|
self.dev.compiler.compile(self.empty)
|
|
|
|
def test_empty_compile_twice(self):
|
|
self.dev.compiler.compile(self.empty)
|
|
with Timing("compiler "):
|
|
self.dev.compiler.compile(self.empty)
|
|
|
|
def test_launch_speed(self):
|
|
prg_bin = self.dev.compiler.compile(self.empty)
|
|
prg = self.dev.runtime("test", prg_bin)
|
|
for _ in range(10): prg() # ignore first launches
|
|
with Timing("launch 1000x "):
|
|
for _ in range(1000): prg()
|
|
with Timing("launch 1000x with wait "):
|
|
for _ in range(1000): prg(wait=True)
|
|
|
|
def test_profile_launch_speed(self):
|
|
prg_bin = self.dev.compiler.compile(self.empty)
|
|
prg = self.dev.runtime("test", prg_bin)
|
|
for _ in range(10): prg() # ignore first launches
|
|
with Profiling():
|
|
for _ in range(1000): prg()
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|