mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-01-09 23:18:04 -05:00
* Add CDLL interface for metal * remove two unused functions * Cover most of the API methods * switch to cdll * directly call objc message in ops_metal * keep only obj interface * Use direct message sending for graph * may have found a solution to the memoryview on ctypes pointer * buf indexing bug fixed * fix c_int * fix c int to bytes * fix gpu time bug * line savings for cdll metal core * wip * c int bug * fix buf casting * dedup for c_void_p * dedup for c_void_p * linter fix * remove unused stuff * my py fix * more mypy error fix * line savings * line savings * rename send_message to msg; add __hash__ and __eq__ for dedup * wip * refactor * refactor * remove named import from ctypes * forgot to change variable name * file reorg, put support.py to ops_metal * refactor * hash error * remove to_ns_array * test oom exception, fix exception change * typevar for msg * add back dedup * test for compile error * move constant to graph * move header constant around * get label for icb buffer * check icb label using "in" * wip fixing mypy reported error * fixed mypy error * code formatting * all_resources dedup match previous * code formatting * code formatting; buffer set to objc_id * revert changes on buf for the manual release, seems like _free is not always called * skip unless on metal, for test_metal * fix premature mem release causing seg fault * test_metal check for device before importing * Buffer should only be released under _free explicitly * mypy fixes * change object ownership * test compile success * lint fixes * remove load_library * wrap sel_register in cache * simplify to_struct * swap lines * fix type error in to_struct * bump line to 9800 * remove pyobjc from setup.py * command buffer should be objc_instance and get released * stringWithUTF8String: returns objc_instance * Use constant for MTLPipelineOptionNone * better explanation for [MTLBuffer contents:] return * Use dyld_find in case the path differs * trailing whitespace * handle exception for methods that take error: * load /System/Library instead of /Library * Init c_void_p with None instead of zero for error objects --------- Co-authored-by: Mesozoic Egg <mesozoic.egg@proton.me> Co-authored-by: George Hotz <72895+geohot@users.noreply.github.com>
74 lines
2.2 KiB
Python
74 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from pathlib import Path
|
|
from setuptools import setup
|
|
|
|
directory = Path(__file__).resolve().parent
|
|
with open(directory / 'README.md', encoding='utf-8') as f:
|
|
long_description = f.read()
|
|
|
|
setup(name='tinygrad',
|
|
version='0.9.2',
|
|
description='You like pytorch? You like micrograd? You love tinygrad! <3',
|
|
author='George Hotz',
|
|
license='MIT',
|
|
long_description=long_description,
|
|
long_description_content_type='text/markdown',
|
|
packages = ['tinygrad', 'tinygrad.runtime.autogen', 'tinygrad.codegen', 'tinygrad.nn', 'tinygrad.renderer', 'tinygrad.engine',
|
|
'tinygrad.runtime', 'tinygrad.runtime.support', 'tinygrad.runtime.graph', 'tinygrad.shape'],
|
|
package_data = {'tinygrad': ['py.typed']},
|
|
classifiers=[
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: MIT License"
|
|
],
|
|
install_requires=["numpy"],
|
|
python_requires='>=3.8',
|
|
extras_require={
|
|
'llvm': ["llvmlite"],
|
|
'arm': ["unicorn"],
|
|
'triton': ["triton-nightly>=2.1.0.dev20231014192330"],
|
|
'linting': [
|
|
"pylint",
|
|
"mypy",
|
|
"typing-extensions",
|
|
"pre-commit",
|
|
"ruff",
|
|
"types-tqdm",
|
|
],
|
|
#'mlperf': ["mlperf-logging @ git+https://github.com/mlperf/logging.git@4.0.0-rc2"],
|
|
'testing': [
|
|
"torch",
|
|
"pillow",
|
|
"pytest",
|
|
"pytest-xdist",
|
|
"onnx==1.16.0",
|
|
"onnx2torch",
|
|
"opencv-python",
|
|
"tabulate",
|
|
"tqdm",
|
|
"safetensors",
|
|
"transformers",
|
|
"sentencepiece",
|
|
"tiktoken",
|
|
"blobfile",
|
|
"librosa",
|
|
"networkx",
|
|
"hypothesis",
|
|
"nibabel",
|
|
"bottle",
|
|
],
|
|
'docs': [
|
|
"mkdocs",
|
|
"mkdocs-material",
|
|
"mkdocstrings[python]",
|
|
"markdown-callouts",
|
|
"markdown-exec[ansi]",
|
|
"black"
|
|
],
|
|
'testing_tf': [
|
|
"tensorflow==2.15.1",
|
|
"tensorflow_addons",
|
|
]
|
|
},
|
|
include_package_data=True)
|