gated native math in OpenCL (#6683)

* gated native math

* Update cstyle.py
This commit is contained in:
George Hotz
2024-09-23 19:22:13 +08:00
committed by GitHub
parent 84072166db
commit 2fe3eeed17
3 changed files with 7 additions and 0 deletions
+1
View File
@@ -6,6 +6,7 @@ sys.path.insert(0, str(pathlib.Path(__file__).parents[1]))
if "FLOAT16" not in os.environ: os.environ["FLOAT16"] = "1"
if "IMAGE" not in os.environ: os.environ["IMAGE"] = "2"
if "NOLOCALS" not in os.environ: os.environ["NOLOCALS"] = "1"
if "NATIVE_MATH" not in os.environ: os.environ["NATIVE_MATH"] = "1"
OPENPILOT_MODEL = "https://github.com/commaai/openpilot/raw/v0.9.4/selfdrive/modeld/models/supercombo.onnx"
+1
View File
@@ -3,6 +3,7 @@ import numpy as np
if "FLOAT16" not in os.environ: os.environ["FLOAT16"] = "1"
if "IMAGE" not in os.environ: os.environ["IMAGE"] = "2"
if "NOLOCALS" not in os.environ: os.environ["NOLOCALS"] = "1"
if "NATIVE_MATH" not in os.environ: os.environ["NATIVE_MATH"] = "1"
from tinygrad import fetch, Tensor, TinyJit, Device, Context, GlobalCounters
from tinygrad.helpers import OSX, DEBUG, Timing
+5
View File
@@ -227,6 +227,11 @@ class ClangRenderer(CStyleLanguage):
class OpenCLRenderer(CStyleLanguage):
device = "GPU"
code_for_op = {**CStyleLanguage().code_for_op,
#UnaryOps.SQRT: lambda x,dtype: f"native_sqrt({x})", UnaryOps.RECIP: lambda x,dtype: f"native_recip({x})",
#UnaryOps.EXP2: lambda x,dtype: f"native_exp2({x})", UnaryOps.LOG2: lambda x,dtype: f"native_log2({x})",
UnaryOps.SIN: lambda x,dtype: f"native_sin({x})"} if getenv("NATIVE_MATH") else CStyleLanguage().code_for_op
# language options
kernel_prefix = "__kernel "
buffer_prefix = "__global "