cli tool to launch python with zluda

This commit is contained in:
Seunghoon Lee
2024-05-14 12:44:52 +09:00
parent 58304dcf40
commit bd1c1b7fb4
+33 -10
View File
@@ -1,5 +1,26 @@
import os
import sys
from typing import Dict, Mapping
class Interpreter:
env_globals: Dict
env_locals: Mapping
def __init__(self, env_globals, env_locals):
self.env_globals = env_globals
self.env_locals = env_locals
def execute(self, s: str):
try:
exec(s, self.env_globals, self.env_locals)
except Exception as e:
print(f'{e.__class__.__name__}: {e}')
def from_file(self, path):
with open(path, 'r', encoding='utf-8') as fp:
for line in fp.readlines():
self.execute(line)
if __name__ == '__main__':
@@ -9,14 +30,16 @@ if __name__ == '__main__':
load(find())
import torch
print(f'Python with ZLUDA {sys.version}')
print('Type "help", "copyright", "credits" or "license" for more information.')
interpreter = Interpreter({
'torch': torch,
}, {})
while True:
print('>>> ', end='')
try:
exec(input(), {
'torch': torch,
})
except Exception as e:
print(f'{e.__class__.__name__}: {e}')
if len(sys.argv) > 1:
interpreter.from_file(sys.argv[1])
else:
print(f'Python with ZLUDA {sys.version}')
print('Type "help", "copyright", "credits" or "license" for more information.')
while True:
print('>>> ', end='')
interpreter.execute(input())