diff --git a/.github/workflows/python-demos.yml b/.github/workflows/python-demos.yml index 6fadbccd..e1a3d302 100644 --- a/.github/workflows/python-demos.yml +++ b/.github/workflows/python-demos.yml @@ -38,8 +38,8 @@ jobs: python3 setup.py sdist bdist_wheel pip3 install --force-reinstall dist/pvmvm-0.1.0-py3-none-any.whl - # - name: Download resource files - # run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/xpu/res/mvm-weights-4096x4096x256.bin/latest/mvm-weights-4096x4096x256.bin -o mvm-weights-4096x4096x256.bin + - name: Download resource files + run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/picollm/res/phi2-290.bin/latest/phi2-290.bin -o phi2-290.bin - name: Test run: python3 mvm_demo_file.py --input_weight_file ./mvm-weights-4096x4096x256.bin diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 10073f60..15504f86 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -51,7 +51,7 @@ jobs: run: pip3 install -r requirements.txt - name: Download resource files - run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/xpu/res/mvm-weights-4096x4096x256.bin/latest/mvm-weights-4096x4096x256.bin -o mvm-weights-4096x4096x256.bin + run: curl http://${{secrets.PV_CICD_RES_SERVER_AUTHORITY}}/github/picollm/res/phi2-290.bin/latest/phi2-290.bin -o phi2-290.bin - name: Test - run: python3 test_mvm.py ./mvm-weights-4096x4096x256.bin + run: python3 test_picollm.py ${{secrets.PV_VALID_ACCESS_KEY}} ./phi2-290.bin diff --git a/.gitignore b/.gitignore index 5822fe81..179e7a53 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .DS_Store .idea __pycache__ -mvm-weights*.bin +*.bin diff --git a/binding/python/test_picollm.py b/binding/python/test_picollm.py index 6f7db007..56d992c8 100644 --- a/binding/python/test_picollm.py +++ b/binding/python/test_picollm.py @@ -14,65 +14,73 @@ import numpy as np -from _picollm import Picollm, PicollmError +from _picollm import PicoLLM from _util import * class PicollmTestCase(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls._access_key = sys.argv[1] + cls._model_path = sys.argv[2] + def setUp(self): - self._picollm = Picollm(device_string="best:0", library_path=pv_library_path('../..')) + self._picollm = PicoLLM( + access_key=self._access_key, + model_path=self._model_path, + library_path=pv_library_path('../..')) def tearDown(self): - self._picollm.delete() + self._picollm.release() - def test_load_chunk(self): - with open(sys.argv[1], 'rb') as model_file: - model_loaded = False - while not model_loaded: - data = model_file.read(self._picollm.max_chunk_size) - if not data: - break - model_loaded = self._picollm.load_model_chunk(data) - self.assertTrue(model_loaded) + # def test_load_chunk(self): + # with open(sys.argv[1], 'rb') as model_file: + # model_loaded = False + # while not model_loaded: + # data = model_file.read(self._picollm.max_chunk_size) + # if not data: + # break + # model_loaded = self._picollm.load_model_chunk(data) + # self.assertTrue(model_loaded) - def test_chain_multiply(self): - self._picollm.load_model_file(sys.argv[1]) + # def test_chain_multiply(self): + # self._picollm.load_model_file(sys.argv[1]) - _, matrix_n = self._picollm.matrix_dimensions() - vector = [1.0] * matrix_n + # _, matrix_n = self._picollm.matrix_dimensions() + # vector = [1.0] * matrix_n - result_vector = self._picollm.chain_multiply(vector) + # result_vector = self._picollm.chain_multiply(vector) - self.assertEqual(len(vector), len(result_vector)) + # self.assertEqual(len(vector), len(result_vector)) def test_version(self): self.assertIsInstance(self._picollm.version, str) - def test_message_stack(self): - relative_path = '../..' + # def test_message_stack(self): + # relative_path = '../..' - error = None - try: - c = Picollm(device_string="invalid", library_path=pv_library_path(relative_path)) - self.assertIsNone(c) - except PicollmError as e: - error = e.message_stack + # error = None + # try: + # c = Picollm(device_string="invalid", library_path=pv_library_path(relative_path)) + # self.assertIsNone(c) + # except PicollmError as e: + # error = e.message_stack - self.assertIsNotNone(error) - self.assertGreater(len(error), 0) + # self.assertIsNotNone(error) + # self.assertGreater(len(error), 0) - try: - c = Picollm(device_string="invalid", library_path=pv_library_path(relative_path)) - self.assertIsNone(c) - except PicollmError as e: - self.assertEqual(len(error), len(e.message_stack)) - self.assertListEqual(list(error), list(e.message_stack)) + # try: + # c = Picollm(device_string="invalid", library_path=pv_library_path(relative_path)) + # self.assertIsNone(c) + # except PicollmError as e: + # self.assertEqual(len(error), len(e.message_stack)) + # self.assertListEqual(list(error), list(e.message_stack)) if __name__ == '__main__': - if len(sys.argv) != 2: - print("usage: test_picollm.py ${WeightFile}") + if len(sys.argv) != 3: + print("usage: test_picollm.py ${AccessKey} ${ModelFile}") exit(1) unittest.main(argv=sys.argv[:1]) diff --git a/demo/c/mvm_demo_file.c b/demo/c/picollm_demo_file.c similarity index 100% rename from demo/c/mvm_demo_file.c rename to demo/c/picollm_demo_file.c diff --git a/lib/linux/x86_64/libpv_mvm.so b/lib/linux/x86_64/libpv_mvm.so deleted file mode 100755 index 6ddedf84..00000000 Binary files a/lib/linux/x86_64/libpv_mvm.so and /dev/null differ diff --git a/lib/linux/x86_64/libpv_picollm.so b/lib/linux/x86_64/libpv_picollm.so new file mode 100755 index 00000000..bca9517e Binary files /dev/null and b/lib/linux/x86_64/libpv_picollm.so differ