PyTorch CI Build Issue Request for Help

Chris Jones jonesc at hep.phy.cam.ac.uk
Thu Mar 23 14:41:50 UTC 2023



On 23/03/2023 2:13 pm, Joshua Root wrote:
> On 23/3/2023 23:26, Steven Smith wrote:
>> PyTorch build and runs fine locally, but the CI consistently fails 
>> with error below. This issue has created unnecessary delays in merging 
>> new PT versions.
>>
>>> 2023-03-18T18:24:32.7624930Z CMake Error at 
>>> third_party/fbgemm/CMakeLists.txt:76 (message):
>>> 2023-03-18T18:24:32.7638400Z   A compiler with AVX512 support is 
>>> required.
> 
> You would need to examine the cmake logs (CMakeOutput.log + 
> CMakeError.log) and the CMakeLists.txt in this subdir to see how this 
> check is being done. Maybe the wrong compiler is being used for the 
> check; maybe it's buggy in some other way.
> 
>> A successful build uses:
>>
>>> :debug:build CXX='/usr/bin/clang++'
>>>>>> :info:build -- Performing Test C_HAS_AVX512_2 - Success
>>>>>> :info:build -- Performing Test CXX_HAS_AVX512_2 - Success
> 
> That's coming from a different CMakeLists.txt (which apparently works 
> correctly since the same output is in the log of the failing build).
> 
>> I believe that the right compiler is set. Any suggestions, or does 
>> this complicated build fail with the CI box?
>>
>> Details at this PR:
>>
>> py-pytorch: Update to version 2.0.0 by essandess · Pull Request #18009 
>> · macports/macports-ports
>> https://github.com/macports/macports-ports/pull/18009
> 
> The current version fails on the buildbot for all OS versions except 
> Ventura. The logs that are still available for x86_64 show the same 
> error as GitHub Actions. 
> <https://ports.macports.org/port/py310-pytorch/details/>
> 
> So it appears that pushing the update won't make it more broken, but it 
> still is quite broken. At the very least, binaries won't be built for 
> most platforms, and if it fails on the buildbot then it will most likely 
> fail for local builds too on at least some subset of machines.

requiring AVX512 is a really rather stringent requirement, most machines 
will not have these instructions.

In fact, even if the build bots where able to make binary tarballs, if 
they are using these instructions (without runtime capability checks) 
then it would quite possibly render these binaries unusable on most 
hardware.

What we normally require is use of these sorts of instruction sets 
(AVX512, AVX2) is by default turned off so that the binaries produced 
are usable on more hardware. Then, if you want to allow these 
instructions on machines where they are available, provide a 'native' 
variant which when selected forces the user to build from source, and 
allows the build configuration to test for and if available use these 
instructions.

Chris

> 
> - Josh


More information about the macports-dev mailing list