Hello,
I am trying to build and use Pytorch with APL on Windows. The build seems successful, but I get errors such as:
Can you help us identify the problem? Can it be a problem with the build or is it an APL bug?
Hi Chris, I have 2 follow-up questions for you. I was trying to build pytorch on arm with both a single threaded and a multithreaded variant and I ran into this issue:
armpl_lp64_mp.lib: unresolved external symbol __kmpc_fork_call
armpl_lp64_mp.lib: unresolved external symbol __kmpc_global_thread_num
armpl_lp64_mp.lib: unresolved external symbol __kpmc_for_static_fini
armpl_lp64_mp.lib: unresolved external symbol __kpmc_for_static_init_8
armpl_lp64_mp.lib: unresolved external symbol __kpmc_barrier
Do you maybe have an idea what am I missing?
Also, I came across this page on the documentation: Get started with Arm Performance Libraries (stand-alone Linux version). From that table it looks like there is no difference between single and multithreaded 32 bit libraries, is that correct ?
Hi.
I think you'll be better off with the latest version of the Windows documentation which has more details in it. On that page you can see that to link to the OpenMP (*_mp) version you also need to include the relevant omp.dll library. In the first example you can see that includes the compile line:
cl.exe /MD armpl_dgemm_interleave_batch_c_example.obj C:\arm-performance-libraries_23.10\armpl_23.10\lib\armpl_lp64_mp.dll.lib C:\arm-performance-libraries_23.10\armpl_23.10\lib\FortranRuntime.lib C:\arm-performance-libraries_23.10\armpl_23.10\lib\FortranDecimal.lib C:\arm-performance-libraries_23.10\armpl_23.10\lib\omp.dll.lib /Fearmpl_dgemm_interleave_batch_c_example.exewhere the "C:\arm-performance-libraries_23.10\armpl_23.10\lib\omp.dll.lib" option is the specification of the OpenMP library that will provide your missing symbols.
Hope that helps.
Chris