diff --git a/src/runtime/metal/metal_module.mm b/src/runtime/metal/metal_module.mm index 4814d986b908c3e46d0588e8fdd1e07d9c766404..4d9ffec84e45e55eb5099475521dac2c100db9e3 100644 --- a/src/runtime/metal/metal_module.mm +++ b/src/runtime/metal/metal_module.mm @@ -83,8 +83,11 @@ class MetalModuleNode final :public runtime::ModuleNode { if (e.lib == nil) { if (fmt_ == "metal") { MTLCompileOptions *opts = [MTLCompileOptions alloc]; - opts.languageVersion = MTLLanguageVersion2_0; - opts.fastMathEnabled = YES; + // Use the default setting for now. + // by default most recent version is used. + // opts.languageVersion = MTLLanguageVersion2_0; + // opts.fastMathEnabled = YES; + opts = nil; e.lib = [ w->devices[device_id] newLibraryWithSource:[NSString stringWithUTF8String:data_.c_str()] diff --git a/tests/python/integration/test_ewise.py b/tests/python/integration/test_ewise.py index ee880ed1d9fbcc6a83b714147633029ba119c69a..3ad464f75faaf59dc5736921aaccce6bf85241de 100644 --- a/tests/python/integration/test_ewise.py +++ b/tests/python/integration/test_ewise.py @@ -98,8 +98,8 @@ def test_popcount(): check_device("llvm") check_device("cuda") check_device("opencl") - check_device("metal") if dtype == "uint32": + check_device("metal") check_device("vulkan") run('uint32') run('uint64') @@ -146,9 +146,10 @@ def test_add(): c.asnumpy(), a.asnumpy() + b.asnumpy(), rtol=1e-6) check_device("opencl") - check_device("metal") check_device("cuda") - check_device("vulkan") + if dtype == "float32": + check_device("metal") + check_device("vulkan") run("float32") run("int32")