ymd-h / vulkpy

GPGPU array on Vulkan
https://ymd-h.github.io/vulkpy/
MIT License
11 stars 1 forks source link

RuntimeError: vk::createInstanceUnique: ErrorIncompatibleDriver on macOS #5

Closed LamiumAmplexicaule closed 1 year ago

LamiumAmplexicaule commented 1 year ago

Overview

RuntimeError: vk::createInstanceUnique: ErrorIncompatibleDriver occurs on macOS.

From Getting Started with the macOS Vulkan SDK

Encountered VK_ERROR_INCOMPATIBLE_DRIVER:

Beginning with the 1.3.216 Vulkan SDK, the Vulkan Loader is strictly enforcing the new VK_KHR_PORTABILITY_subset extension. The most likely cause of this error message on instance creation is failure to adhear to this extension, which prevents applications on all platforms from selecting by default a non-conformant Vulkan implementaton without opting in. MoltenVK is currently not fully conformant, and thus supporting this extension is necessary for building robust and portable Vulkan based applications that are good citizens in the Vulkan ecosystem.

Opting in is simple. First add the VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR bit to your VkInstanceCreateInfo structures .flags member, then add two instance extensions to your instance extensions list: VK_KHR_portability_enumeration, and VK_KHR_get_physical_device_properties2.

According to above, it is necessary to take measures like this in macOS.

I am not familiar with C++ and Vulkan, so I am not sure if this code is correct, but at least I have confirmed that it works.

Environment

gcc: 13.1.0
Vulkan SDK: 1.3.250

Reproduction procedure

console log ```console henbit@macbookpro13 ~> cd /tmp henbit@macbookpro13 /tmp> pwd /tmp henbit@macbookpro13 /tmp> python3 -m venv venv henbit@macbookpro13 /tmp> source ./venv/bin/activate.fish (venv) henbit@macbookpro13 /tmp> pip install -U pip wheel Requirement already satisfied: pip in ./venv/lib/python3.11/site-packages (23.0.1) Collecting pip Using cached pip-23.1.2-py3-none-any.whl (2.1 MB) Collecting wheel Using cached wheel-0.40.0-py3-none-any.whl (64 kB) Installing collected packages: wheel, pip Attempting uninstall: pip Found existing installation: pip 23.0.1 Uninstalling pip-23.0.1: Successfully uninstalled pip-23.0.1 Successfully installed pip-23.1.2 wheel-0.40.0 (venv) henbit@macbookpro13 /tmp> pip install numpy pybind11 well-behaved-logging Collecting numpy Using cached numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl (19.8 MB) Collecting pybind11 Using cached pybind11-2.10.4-py3-none-any.whl (222 kB) Collecting well-behaved-logging Using cached well_behaved_logging-0.0.1-py3-none-any.whl (4.4 kB) Installing collected packages: well-behaved-logging, pybind11, numpy Successfully installed numpy-1.24.3 pybind11-2.10.4 well-behaved-logging-0.0.1 (venv) henbit@macbookpro13 /tmp> git clone https://github.com/ymd-h/vulkpy Cloning into 'vulkpy'... remote: Enumerating objects: 2650, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (11/11), done. remote: Total 2650 (delta 5), reused 11 (delta 3), pack-reused 2636 Receiving objects: 100% (2650/2650), 286.59 KiB | 3.58 MiB/s, done. Resolving deltas: 100% (1878/1878), done. (venv) henbit@macbookpro13 /tmp> cd vulkpy/ (venv) henbit@macbookpro13 /t/vulkpy (master)> CC=$(which gcc-13) CXX=$(which g++-13) CFLAGS="-I$VULKAN_SDK/include" LDFLAGS="-L$DYLD_LIBRARY_PATH" python setup.py bdist_wheel running bdist_wheel running build running build_py creating build creating build/lib.macosx-13-x86_64-cpython-311 creating build/lib.macosx-13-x86_64-cpython-311/vulkpy copying vulkpy/vktyping.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy copying vulkpy/util.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy copying vulkpy/__init__.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy copying vulkpy/vkarray.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy copying vulkpy/random.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy creating build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/models.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/__init__.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/core.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/regularizers.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/optimizers.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/initializers.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/parameters.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/losses.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn copying vulkpy/nn/layers.py -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn running egg_info creating vulkpy.egg-info writing vulkpy.egg-info/PKG-INFO writing dependency_links to vulkpy.egg-info/dependency_links.txt writing requirements to vulkpy.egg-info/requires.txt writing top-level names to vulkpy.egg-info/top_level.txt writing manifest file 'vulkpy.egg-info/SOURCES.txt' reading manifest file 'vulkpy.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'vulkpy.egg-info/SOURCES.txt' /private/tmp/venv/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'vulkpy.shader' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'vulkpy.shader' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'vulkpy.shader' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'vulkpy.shader' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) copying vulkpy/_vkarray.cc -> build/lib.macosx-13-x86_64-cpython-311/vulkpy creating build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/abs.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/acos.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/acosh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/add.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/add_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/add_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/asin.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/asinh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/atan.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/atanh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/batch_affine.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/clamp.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/clamp_ss.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/clamp_sv.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/clamp_vs.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/cos.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/cosh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/div.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/div_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/div_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/exp.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/exp2.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/gather.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/gather_axis.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iabs.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iacos.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iacosh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iadd.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iadd_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iadd_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iasin.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iasinh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iatan.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iatanh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iclamp.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iclamp_ss.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iclamp_sv.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iclamp_vs.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/icos.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/icosh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/idiv.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/idiv_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/idiv_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iexp.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iexp2.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/iinvsqrt.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/ilog.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/ilog2.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imax.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imax_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imax_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imin.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imin_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imin_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imul.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imul_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/imul_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/invsqrt.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/ipow.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/ipow_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/ipow_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isign.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isin.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isinh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isqrt.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isub.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isub_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/isub_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/itan.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/itanh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/log.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/log2.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/matmul.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/max.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/max_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/max_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/maximum.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/maximum_axis.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/maximum_axis_rebroadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/maximum_v1.3.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/min.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/min_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/min_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/minimum.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/minimum_axis.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/minimum_axis_rebroadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/minimum_v1.3.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/mul.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/mul_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/mul_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/nn_cross_entropy.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/nn_cross_entropy_backward.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/pow.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/pow_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/pow_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prng_box_muller.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prng_ibox_muller.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prng_randrange.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prng_xoshiro128pp_float.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prng_xoshiro128pp_uint32.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prod.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prod_axis.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prod_axis_rebroadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/prod_v1.3.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/rdiv_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/rpow_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/rsub_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sign.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sin.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sinh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sqrt.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sub.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sub_broadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sub_scalar.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sum.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sum_axis.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sum_axis_rebroadcast.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/sum_v1.3.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/tan.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader copying vulkpy/shader/tanh.spv -> build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader running build_ext building 'vulkpy._vkarray' extension creating build/temp.macosx-13-x86_64-cpython-311 creating build/temp.macosx-13-x86_64-cpython-311/vulkpy /usr/local/bin/gcc-13 -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -I/Users/henbit/VulkanSDK/1.3.250.0/macOS/include -I/private/tmp/venv/lib/python3.11/site-packages/pybind11/include -I/private/tmp/venv/include -I/usr/local/opt/python@3.11/Frameworks/Python.framework/Versions/3.11/include/python3.11 -c vulkpy/_vkarray.cc -o build/temp.macosx-13-x86_64-cpython-311/vulkpy/_vkarray.o -std=c++2a -O3 -march=native -Wall /usr/local/bin/g++-13 -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -L/Users/henbit/VulkanSDK/1.3.250.0/macOS/lib -I/Users/henbit/VulkanSDK/1.3.250.0/macOS/include build/temp.macosx-13-x86_64-cpython-311/vulkpy/_vkarray.o -lvulkan -o build/lib.macosx-13-x86_64-cpython-311/vulkpy/_vkarray.cpython-311-darwin.so -std=c++2a /private/tmp/venv/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( installing to build/bdist.macosx-13-x86_64/wheel running install running install_lib creating build/bdist.macosx-13-x86_64 creating build/bdist.macosx-13-x86_64/wheel creating build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/_vkarray.cpython-311-darwin.so -> build/bdist.macosx-13-x86_64/wheel/vulkpy creating build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/models.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/__init__.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/core.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/regularizers.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/optimizers.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/initializers.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/parameters.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/losses.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/nn/layers.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy/nn copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/vktyping.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/util.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/__init__.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/vkarray.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/random.py -> build/bdist.macosx-13-x86_64/wheel/vulkpy copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/_vkarray.cc -> build/bdist.macosx-13-x86_64/wheel/vulkpy creating build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/max_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iacos.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/clamp_vs.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sin.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iadd_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/maximum_axis_rebroadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/cos.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iasin.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/ilog.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/maximum_axis.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/ipow_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sign.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/minimum_axis.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sub_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/div.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/clamp.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/add_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iexp2.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iinvsqrt.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/idiv_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prng_xoshiro128pp_float.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/log2.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iclamp.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/atan.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/abs.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/itanh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imin_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isinh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/cosh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iatanh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imax.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iclamp_ss.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/maximum.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/pow_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sub.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iasinh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/rdiv_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/ipow.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/itan.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prod_axis.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iexp.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/nn_cross_entropy.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sum_axis.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/asinh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/atanh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/add_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imul.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/invsqrt.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/min.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isqrt.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/add.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/pow_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isub_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imul_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iclamp_sv.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prng_box_muller.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sub_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/nn_cross_entropy_backward.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/tanh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imul_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/icosh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/min_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imax_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sinh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/matmul.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prng_ibox_muller.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iacosh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/ipow_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/clamp_sv.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iabs.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/gather.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/acosh.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imin_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/clamp_ss.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prod_axis_rebroadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isin.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/icos.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prng_xoshiro128pp_uint32.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/maximum_v1.3.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/log.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sqrt.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/minimum_v1.3.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sum.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prng_randrange.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/minimum.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/idiv_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/idiv.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/mul_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/batch_affine.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isub_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/acos.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imax_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/min_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/imin.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iadd.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/asin.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/mul.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isign.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/rsub_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/div_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sum_v1.3.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/mul_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prod_v1.3.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/exp2.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iadd_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/gather_axis.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/div_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/max_broadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/prod.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/rpow_scalar.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/sum_axis_rebroadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iclamp_vs.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/isub.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/max.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/ilog2.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/iatan.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/pow.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/exp.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/tan.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader copying build/lib.macosx-13-x86_64-cpython-311/vulkpy/shader/minimum_axis_rebroadcast.spv -> build/bdist.macosx-13-x86_64/wheel/vulkpy/shader running install_egg_info Copying vulkpy.egg-info to build/bdist.macosx-13-x86_64/wheel/vulkpy-0.0.7-py3.11.egg-info running install_scripts creating build/bdist.macosx-13-x86_64/wheel/vulkpy-0.0.7.dist-info/WHEEL creating 'dist/vulkpy-0.0.7-cp311-cp311-macosx_13_0_x86_64.whl' and adding 'build/bdist.macosx-13-x86_64/wheel' to it adding 'vulkpy/__init__.py' adding 'vulkpy/_vkarray.cc' adding 'vulkpy/_vkarray.cpython-311-darwin.so' adding 'vulkpy/random.py' adding 'vulkpy/util.py' adding 'vulkpy/vkarray.py' adding 'vulkpy/vktyping.py' adding 'vulkpy/nn/__init__.py' adding 'vulkpy/nn/core.py' adding 'vulkpy/nn/initializers.py' adding 'vulkpy/nn/layers.py' adding 'vulkpy/nn/losses.py' adding 'vulkpy/nn/models.py' adding 'vulkpy/nn/optimizers.py' adding 'vulkpy/nn/parameters.py' adding 'vulkpy/nn/regularizers.py' adding 'vulkpy/shader/abs.spv' adding 'vulkpy/shader/acos.spv' adding 'vulkpy/shader/acosh.spv' adding 'vulkpy/shader/add.spv' adding 'vulkpy/shader/add_broadcast.spv' adding 'vulkpy/shader/add_scalar.spv' adding 'vulkpy/shader/asin.spv' adding 'vulkpy/shader/asinh.spv' adding 'vulkpy/shader/atan.spv' adding 'vulkpy/shader/atanh.spv' adding 'vulkpy/shader/batch_affine.spv' adding 'vulkpy/shader/broadcast.spv' adding 'vulkpy/shader/clamp.spv' adding 'vulkpy/shader/clamp_ss.spv' adding 'vulkpy/shader/clamp_sv.spv' adding 'vulkpy/shader/clamp_vs.spv' adding 'vulkpy/shader/cos.spv' adding 'vulkpy/shader/cosh.spv' adding 'vulkpy/shader/div.spv' adding 'vulkpy/shader/div_broadcast.spv' adding 'vulkpy/shader/div_scalar.spv' adding 'vulkpy/shader/exp.spv' adding 'vulkpy/shader/exp2.spv' adding 'vulkpy/shader/gather.spv' adding 'vulkpy/shader/gather_axis.spv' adding 'vulkpy/shader/iabs.spv' adding 'vulkpy/shader/iacos.spv' adding 'vulkpy/shader/iacosh.spv' adding 'vulkpy/shader/iadd.spv' adding 'vulkpy/shader/iadd_broadcast.spv' adding 'vulkpy/shader/iadd_scalar.spv' adding 'vulkpy/shader/iasin.spv' adding 'vulkpy/shader/iasinh.spv' adding 'vulkpy/shader/iatan.spv' adding 'vulkpy/shader/iatanh.spv' adding 'vulkpy/shader/iclamp.spv' adding 'vulkpy/shader/iclamp_ss.spv' adding 'vulkpy/shader/iclamp_sv.spv' adding 'vulkpy/shader/iclamp_vs.spv' adding 'vulkpy/shader/icos.spv' adding 'vulkpy/shader/icosh.spv' adding 'vulkpy/shader/idiv.spv' adding 'vulkpy/shader/idiv_broadcast.spv' adding 'vulkpy/shader/idiv_scalar.spv' adding 'vulkpy/shader/iexp.spv' adding 'vulkpy/shader/iexp2.spv' adding 'vulkpy/shader/iinvsqrt.spv' adding 'vulkpy/shader/ilog.spv' adding 'vulkpy/shader/ilog2.spv' adding 'vulkpy/shader/imax.spv' adding 'vulkpy/shader/imax_broadcast.spv' adding 'vulkpy/shader/imax_scalar.spv' adding 'vulkpy/shader/imin.spv' adding 'vulkpy/shader/imin_broadcast.spv' adding 'vulkpy/shader/imin_scalar.spv' adding 'vulkpy/shader/imul.spv' adding 'vulkpy/shader/imul_broadcast.spv' adding 'vulkpy/shader/imul_scalar.spv' adding 'vulkpy/shader/invsqrt.spv' adding 'vulkpy/shader/ipow.spv' adding 'vulkpy/shader/ipow_broadcast.spv' adding 'vulkpy/shader/ipow_scalar.spv' adding 'vulkpy/shader/isign.spv' adding 'vulkpy/shader/isin.spv' adding 'vulkpy/shader/isinh.spv' adding 'vulkpy/shader/isqrt.spv' adding 'vulkpy/shader/isub.spv' adding 'vulkpy/shader/isub_broadcast.spv' adding 'vulkpy/shader/isub_scalar.spv' adding 'vulkpy/shader/itan.spv' adding 'vulkpy/shader/itanh.spv' adding 'vulkpy/shader/log.spv' adding 'vulkpy/shader/log2.spv' adding 'vulkpy/shader/matmul.spv' adding 'vulkpy/shader/max.spv' adding 'vulkpy/shader/max_broadcast.spv' adding 'vulkpy/shader/max_scalar.spv' adding 'vulkpy/shader/maximum.spv' adding 'vulkpy/shader/maximum_axis.spv' adding 'vulkpy/shader/maximum_axis_rebroadcast.spv' adding 'vulkpy/shader/maximum_v1.3.spv' adding 'vulkpy/shader/min.spv' adding 'vulkpy/shader/min_broadcast.spv' adding 'vulkpy/shader/min_scalar.spv' adding 'vulkpy/shader/minimum.spv' adding 'vulkpy/shader/minimum_axis.spv' adding 'vulkpy/shader/minimum_axis_rebroadcast.spv' adding 'vulkpy/shader/minimum_v1.3.spv' adding 'vulkpy/shader/mul.spv' adding 'vulkpy/shader/mul_broadcast.spv' adding 'vulkpy/shader/mul_scalar.spv' adding 'vulkpy/shader/nn_cross_entropy.spv' adding 'vulkpy/shader/nn_cross_entropy_backward.spv' adding 'vulkpy/shader/pow.spv' adding 'vulkpy/shader/pow_broadcast.spv' adding 'vulkpy/shader/pow_scalar.spv' adding 'vulkpy/shader/prng_box_muller.spv' adding 'vulkpy/shader/prng_ibox_muller.spv' adding 'vulkpy/shader/prng_randrange.spv' adding 'vulkpy/shader/prng_xoshiro128pp_float.spv' adding 'vulkpy/shader/prng_xoshiro128pp_uint32.spv' adding 'vulkpy/shader/prod.spv' adding 'vulkpy/shader/prod_axis.spv' adding 'vulkpy/shader/prod_axis_rebroadcast.spv' adding 'vulkpy/shader/prod_v1.3.spv' adding 'vulkpy/shader/rdiv_scalar.spv' adding 'vulkpy/shader/rpow_scalar.spv' adding 'vulkpy/shader/rsub_scalar.spv' adding 'vulkpy/shader/sign.spv' adding 'vulkpy/shader/sin.spv' adding 'vulkpy/shader/sinh.spv' adding 'vulkpy/shader/sqrt.spv' adding 'vulkpy/shader/sub.spv' adding 'vulkpy/shader/sub_broadcast.spv' adding 'vulkpy/shader/sub_scalar.spv' adding 'vulkpy/shader/sum.spv' adding 'vulkpy/shader/sum_axis.spv' adding 'vulkpy/shader/sum_axis_rebroadcast.spv' adding 'vulkpy/shader/sum_v1.3.spv' adding 'vulkpy/shader/tan.spv' adding 'vulkpy/shader/tanh.spv' adding 'vulkpy-0.0.7.dist-info/LICENSE' adding 'vulkpy-0.0.7.dist-info/METADATA' adding 'vulkpy-0.0.7.dist-info/WHEEL' adding 'vulkpy-0.0.7.dist-info/top_level.txt' adding 'vulkpy-0.0.7.dist-info/RECORD' removing build/bdist.macosx-13-x86_64/wheel (venv) henbit@macbookpro13 /t/vulkpy (master)> pip install dist/vulkpy-0.0.7-cp311-cp311-macosx_13_0_x86_64.whl Processing ./dist/vulkpy-0.0.7-cp311-cp311-macosx_13_0_x86_64.whl Collecting typing-extensions (from vulkpy==0.0.7) Using cached typing_extensions-4.6.3-py3-none-any.whl (31 kB) Requirement already satisfied: numpy in /private/tmp/venv/lib/python3.11/site-packages (from vulkpy==0.0.7) (1.24.3) Requirement already satisfied: well-behaved-logging in /private/tmp/venv/lib/python3.11/site-packages (from vulkpy==0.0.7) (0.0.1) Installing collected packages: typing-extensions, vulkpy Successfully installed typing-extensions-4.6.3 vulkpy-0.0.7 (venv) henbit@macbookpro13 /t/vulkpy (master)> cd example/ (venv) henbit@macbookpro13 /t/v/example (master)> python 00-arithmetic.py Traceback (most recent call last): File "/private/tmp/vulkpy/example/00-arithmetic.py", line 43, in main() File "/private/tmp/vulkpy/example/00-arithmetic.py", line 8, in main gpu = vk.GPU() ^^^^^^^^ File "/private/tmp/venv/lib/python3.11/site-packages/vulkpy/vkarray.py", line 101, in __init__ self.gpu = createGPU(idx, priority) ^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: vk::createInstanceUnique: ErrorIncompatibleDriver (venv) henbit@macbookpro13 /t/v/example (master) [0|1]> ```

Quick Fix

(venv) henbit@macbookpro13 /t/v/example (master)> git diff
diff --git a/vulkpy/_vkarray.cc b/vulkpy/_vkarray.cc
index 54313d7..5614d5c 100644
--- a/vulkpy/_vkarray.cc
+++ b/vulkpy/_vkarray.cc
@@ -470,7 +470,18 @@ private:
   std::unordered_map<std::string_view, OpVariant_t> opMap;
 public:
   GPU(std::size_t id, float priority = 0.0f): priority(priority) {
+#if defined(__APPLE__)
+    std::vector<const char *> extensionNames;
+    extensionNames.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
+    extensionNames.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
+    vk::InstanceCreateInfo instanceInfo{};
+    instanceInfo.flags = vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR;
+    instanceInfo.enabledExtensionCount = static_cast<uint32_t>(extensionNames.size());
+    instanceInfo.ppEnabledExtensionNames = extensionNames.data();
+    this->instance = vk::createInstanceUnique(instanceInfo);
+#else
     this->instance = vk::createInstanceUnique(vk::InstanceCreateInfo{});
+#endif
     this->physical = this->instance->enumeratePhysicalDevices()[id];

     this->queueFamilyIndex = this->findQueueFamilyIndex(vk::QueueFlagBits::eCompute);

Reference

Getting Started with the macOS Vulkan SDK

ymd-h commented 1 year ago

@LamiumAmplexicaule

Thank you for your feedback. Your contribution is very helpful.

I would like to know if you would be interested in creating a PR.

LamiumAmplexicaule commented 1 year ago

@ymd-h

Thank you for your reply. I am interested in creating a PR.

ymd-h commented 1 year ago

@LamiumAmplexicaule Great.

Thank you in advance.