Jittor / JittorLLMs

计图大模型推理库,具有高性能、配置要求低、中文支持好、可移植等特点
Apache License 2.0
2.37k stars 183 forks source link

MacOS M1无法运行 #46

Open dydwgmcnl4241 opened 1 year ago

dydwgmcnl4241 commented 1 year ago

(jittor) ➜ JittorLLMs git:(main) python web_demo.py chatglm
[i 0415 15:22:37.083849 20 compiler.py:955] Jittor(1.3.7.13) src: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor [i 0415 15:22:37.099079 20 compiler.py:956] clang at /usr/bin/clang++(14.0.3) [i 0415 15:22:37.099178 20 compiler.py:957] cache_path: /Users/wilson/.cache/jittor/jt1.3.7/clang14.0.3/py3.8.16/macOS-13.3.1-ax07/AppleM1Max/default In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/cache_compile.cc:12: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/misc/hash.h:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/common.h:10: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.h:138:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] send_log(move(out), level, verbose); ^ std:: 1 warning generated. In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.cc:14: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.h:138:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] send_log(move(out), level, verbose); ^ std:: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.cc:195:12: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] return move(logs); ^ std:: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.cc:376:19: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] vprefix_map = move(new_map); ^ std:: 3 warnings generated. In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc:11: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.h:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/common.h:10: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.h:138:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] send_log(move(out), level, verbose); ^ std:: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc:49:9: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(pid_buf, "%d", getpid()); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc:145:9: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(pid_buf, "%d", getpid()); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc:147:9: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(st_buf, "set backtrace limit %d", trace_depth); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc:213:13: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(syscom,"%s %p -f -p -i -e %.*s", addr2line_path.c_str(), trace[i], p, messages[i]); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

5 warnings generated. In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/jit_utils.cc:7: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/cache_compile.h:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/common.h:10: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.h:138:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] send_log(move(out), level, verbose); ^ std:: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/jit_utils.cc:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/pyjt/py_converter.h:17: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/profiler/simple_profiler.h:48:48: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] inline SimpleProfiler(string&& name): name(move(name)), cnt(0), total_ns(0), sum(0) {} ^ std:: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/jit_utils.cc:8: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/pyjt/py_converter.h:358:16: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] return move(fetch_sync({ptr}).at(0)); ^ std:: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/jit_utils.cc:505:37: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] return to_py_object(move(ret)); ^ std:: 4 warnings generated. In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/str_utils.cc:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/str_utils.h:8: In file included from /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/common.h:10: /Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.h:138:18: warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call] send_log(move(out), level, verbose); ^ std:: 1 warning generated. ld: library not found for -lomp clang: error: linker command failed with exit code 1 (use -v to see invocation) Traceback (most recent call last): File "web_demo.py", line 26, in model = models.get_model(args) File "/Users/wilson/pythonProject/ai/JittorLLMs/models/init.py", line 38, in getmodel globals()[f"get{model_name}"]() File "/Users/wilson/pythonProject/ai/JittorLLMs/models/util.py", line 51, in get_chatglm new_path.append(download_fromhub(f"jittorhub://{f}", tdir="chat-glm")) File "/Users/wilson/pythonProject/ai/JittorLLMs/models/util.py", line 5, in download_fromhub import jittor as jt File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/init.py", line 18, in from . import compiler File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/compiler.py", line 1189, in check_cache_compile() File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/compiler.py", line 884, in check_cache_compile recompile = compile(cc_path, cc_flags+f" {opt_flags} ", files, jit_utils.cache_path+'/jit_utils_core'+extension_suffix, True) File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/compiler.py", line 126, in compile return do_compile(fix_cl_flags(cmd)) File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/compiler.py", line 91, in do_compile run_cmd(cmd) File "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor_utils/init.py", line 188, in run_cmd raise Exception(err_msg) Exception: Run cmd failed: "/usr/bin/clang++" "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/cache_compile.cc" "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/log.cc" "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/tracer.cc" "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/jit_utils.cc" "/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src/utils/str_utils.cc" -Wall -Wno-unknown-pragmas -std=c++14 -fPIC -mcpu=apple-m2 -fdiagnostics-color=always -undefined dynamic_lookup -lomp -L/Users/wilson/opt/anaconda3/envs/jittor/lib -Wl,-rpath,/Users/wilson/opt/anaconda3/envs/jittor/lib -lstdc++ -ldl -shared -I"/Users/wilson/opt/anaconda3/envs/jittor/lib/python3.8/site-packages/jittor/src" -I/Users/wilson/opt/anaconda3/envs/jittor/include/python3.8 -I/Users/wilson/opt/anaconda3/envs/jittor/include/python3.8 -O2 -o "/Users/wilson/.cache/jittor/jt1.3.7/clang14.0.3/py3.8.16/macOS-13.3.1-ax07/AppleM1Max/default/jit_utils_core.cpython-38-darwin.so"

Kiswelrg commented 1 year ago

the same, 难受

linkerlin commented 1 year ago

看起来是clang编译器不支持C++ 17的特性,需要升级版本

lzhengning commented 1 year ago

@dydwgmcnl4241 您的问题看上去是因为没有满足 macOS 上的安装依赖导致的,请先用 homebrew 安装 openmp

brew install libomp 
lewislovelock commented 1 year ago

@dydwgmcnl4241 您的问题看上去是因为没有满足 macOS 上的安装依赖导致的,请先用 homebrew 安装 openmp

brew install libomp 

我也有同样的问题,解决了!多谢🙏