1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# Owner(s): ["module: inductor"]
import importlib
import os
import sys
import unittest
import torch
from torch.testing._internal.common_utils import IS_CI, IS_WINDOWS
if IS_WINDOWS and IS_CI:
sys.stderr.write(
"Windows CI does not have necessary dependencies for test_xpu_basic yet\n"
)
if __name__ == "__main__":
sys.exit(0)
raise unittest.SkipTest("requires sympy/functorch/filelock")
importlib.import_module("filelock")
pytorch_test_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
sys.path.append(pytorch_test_dir)
from inductor.test_torchinductor import ( # @manual=fbcode//caffe2/test/inductor:test_inductor-library
check_model_gpu,
TestCase,
)
# TODO: Remove this file.
# This is a temporary test case to test the base functionality of first Intel GPU Inductor integration.
# We are working on reuse and pass the test cases in test/inductor/* step by step.
# Will remove this file when pass full test in test/inductor/*.
class XpuBasicTests(TestCase):
common = check_model_gpu
device = "xpu"
def test_add(self):
def fn(a, b):
return a + b
self.common(fn, (torch.rand(2, 3, 16, 16), torch.rand(2, 3, 16, 16)))
def test_sub(self):
def fn(a, b):
return a - b
self.common(fn, (torch.rand(2, 3, 16, 16), torch.rand(2, 3, 16, 16)))
def test_mul(self):
def fn(a, b):
return a * b
self.common(fn, (torch.rand(2, 3, 16, 16), torch.rand(2, 3, 16, 16)))
def test_div(self):
def fn(a, b):
return a / b
self.common(fn, (torch.rand(2, 3, 16, 16), torch.rand(2, 3, 16, 16)))
if __name__ == "__main__":
from torch._dynamo.test_case import run_tests
from torch.testing._internal.inductor_utils import HAS_XPU
if HAS_XPU:
run_tests(needs="filelock")
|