Hello!I was trying to build PyTorch with APL using MSVC on a Windows machine and I encountered this error:
error LNK2001: unresolved external symbol __divdc3
It seems like __divdc3 is a symbol specific to LLVM and it doesn't exist on MSCV.
Can you tell me if there is a way to make APL compatible with MSVC?
Hi Cristian,
Yes, we think this one is easy to fix.
The symbol you are missing is part of FortranRuntime.lib which we ship. You will need to link this in, along with FortranDecimal.lib (also included), in order to satisfy some missing symbols.
Hopefully this is all explained in the README file that came with the release. Do let us know if you find any errors or areas we can improve the documentation.
Thanks.
Chris
Note that we now have a Get Started guide for the Windows version of Arm PL, which documents more clearly how to link:
https://developer.arm.com/documentation/109361/2310/?lang=en
Chris.
Hello everyone,
I've been exploring the compatibility of Arm Performance Libraries with MSVC, especially in the context of High-Performance Computing (HPC). It's crucial for our projects to leverage the optimized performance these libraries can offer, and ensuring seamless integration with Microsoft Visual C++ is key.
I'm particularly interested in hearing about any experiences or insights you may have regarding Arm Performance Libraries and MSVC in HPC scenarios. Have you encountered any specific challenges, found workarounds, or discovered performance improvements? Sharing your thoughts or best practices would be immensely valuable.
Let's pool our knowledge and expertise to navigate the intersection of Arm Performance Libraries and MSVC in the realm of HPC. Looking forward to your input!
I can't tell about performance on Windows but compatibility is tricky. I need a Fortran compiler. I build Classic Flang - its runtime files depend on MSVC's libomp140.aarch64.dll while the Flang OpenMP library is called libomp.dll. ArmPL's OpenMP library is called omp.dll. Which one to use? :)I guess I can recompile Flang a seconds time with itself to get rid of the libomp140.aarch64.dll dependency and then use ArmPL's libomp.dll which has the same name as Flang's. I haven't tested it yet. For me the problem is to get Flang working on Windows as it does on Linux. When I link a large number of Fortran object files, I get a lot of missing symbols. But this is a different discussion.
libomp140.aarch64.dll
libomp.dll
omp.dll