intel / intel-extension-for-pytorch

A Python package for extending the official PyTorch that can easily obtain performance on Intel platform
Apache License 2.0
1.64k stars 254 forks source link

subprocess.CalledProcessError: Command '['git', 'rev-parse', 'HEAD']' returned non-zero exit status 128. #218

Closed JudeDavis1 closed 2 years ago

JudeDavis1 commented 2 years ago

Why is this error occurring when running setup.py?

subprocess.CalledProcessError: Command '['git', 'rev-parse', 'HEAD']' returned non-zero exit status 128.

JudeDavis1 commented 2 years ago

After those changes I made, there was an error in version.cpp. It said that there was no closing ".

The code was formatted like this:

foo = "-- HEAD";

Any way to fix this?

JudeDavis1 commented 2 years ago

I couldn't install it using pip because AVX something wasn't supported. Is there a way I can counter this since I have slightly older intel hardware?

JudeDavis1 commented 2 years ago

Does it support AVX1?

EikanWang commented 2 years ago

Does it support AVX1?

Yes, the extension will auto dispatch to SSE if the machine does not support AVX2.

EikanWang commented 2 years ago

I couldn't install it using pip because AVX something wasn't supported. Is there a way I can counter this since I have slightly older intel hardware?

Do you mean you could install ipex? Could you share your error log here?

EikanWang commented 2 years ago

May I know you git version?

After those changes I made, there was an error in version.cpp. It said that there was no closing ".

The code was formatted like this:

foo = "-- HEAD";

Any way to fix this?

May I know your git version? I could run "git rev-parse HEAD" normally. Seems like I should revert this PR. image

JudeDavis1 commented 2 years ago

I couldn't install it using pip because AVX something wasn't supported. Is there a way I can counter this since I have slightly older intel hardware?

Do you mean you could install ipex? Could you share your error log here?

Sorry I worded that weirdly. I could install the extension using pip, but couldn't import it.

import intel_extension_for_pytorch AVX2 not supported EXIT

JudeDavis1 commented 2 years ago

May I know you git version?

After those changes I made, there was an error in version.cpp. It said that there was no closing ".

The code was formatted like this:

foo = "-- HEAD";

Any way to fix this?

May I know your git version? I could run "git rev-parse HEAD" normally. Seems like I should revert this PR.

image

Latest git version. I could run in from the command line too, but I'm still getting that error from setup.py.

JudeDavis1 commented 2 years ago

Okay now the build is working. But after i built it from source, I still get this error when importing ipex: The extension binary is AVX2 while current machine does not support AVX2.

EikanWang commented 2 years ago

IPEX also supports non-avx platform. Did you mean ipex would raise an error to prompt you the extension is avx2-only binary?

JudeDavis1 commented 2 years ago

Precisely - yes.

JudeDavis1 commented 2 years ago

Is this possibly a big or something?

JudeDavis1 commented 2 years ago

Bug*

EikanWang commented 2 years ago

Could you try installing IPEX via PIP and try again? Soft reminder: you need to upgrade local PyTorch to 1.11.

conda install pytorch torchvision torchaudio cpuonly -c pytorch
pip install intel_extension_for_pytorch
JudeDavis1 commented 2 years ago

Thanks, I'll try that.

JudeDavis1 commented 2 years ago

Hi. I'm still getting this error when i try to import ipex:

The extension binary is AVX2 while current machine does not support AVX2.

PyTorch is running at v11 and everything's up to date. (This is using pip BTW)

EikanWang commented 2 years ago

Got it. Thanks. we will reproduce it and fix it. @xuhancn , please help investigate it.

xuhancn commented 2 years ago

Got it. Thanks. we will reproduce it and fix it. @xuhancn , please help investigate it.

Need @zhuhaozhe evaluate how many non-avx implemention, we need finished all level kernel implemention.

xuhancn commented 2 years ago

Hi. I'm still getting this error when i try to import ipex:

The extension binary is AVX2 while current machine does not support AVX2.

PyTorch is running at v11 and everything's up to date. (This is using pip BTW)

@JudeDavis1 could you please run " cat /proc/cpuinfo" and copy output for me. I need this information to debug.

JudeDavis1 commented 2 years ago

Hi. I'm still getting this error when i try to import ipex: The extension binary is AVX2 while current machine does not support AVX2. PyTorch is running at v11 and everything's up to date. (This is using pip BTW)

@JudeDavis1 could you please run " cat /proc/cpuinfo" and copy output for me. I need this information to debug.

Here it is:

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0xffffffff cpu MHz : 2501.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave osxsave avx lahf_lm ibrs ibpb stibp ssbd bogomips : 5002.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0xffffffff cpu MHz : 2501.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave osxsave avx lahf_lm ibrs ibpb stibp ssbd bogomips : 5002.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0xffffffff cpu MHz : 2501.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave osxsave avx lahf_lm ibrs ibpb stibp ssbd bogomips : 5002.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0xffffffff cpu MHz : 2501.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave osxsave avx lahf_lm ibrs ibpb stibp ssbd bogomips : 5002.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual

xuhancn commented 2 years ago

@JudeDavis1

Sorry for inconvenience, our extension minimal required CPU ISA support AVX2. Your CPU is not meet the requirement. We will add more CPU compatiable check in further version.

JudeDavis1 commented 2 years ago

But @EikanWang said that it can detect a different version and use that?

JudeDavis1 commented 2 years ago

Can it not work with AVX1 or SSE?

JudeDavis1 commented 2 years ago

IPEX also supports non-avx platform. Did you mean ipex would raise an error to prompt you the extension is avx2-only binary?

This ^

JudeDavis1 commented 2 years ago

Does it support AVX1?

Yes, the extension will auto dispatch to SSE if the machine does not support AVX2.

xuhancn commented 2 years ago

IPEX also supports non-avx platform. Did you mean ipex would raise an error to prompt you the extension is avx2-only binary?

This ^

Current binary support auto select kernels for equal or newer AVX2 CPUs. The AVX2 is minimal requirement. Thanks.

EikanWang commented 2 years ago

@JudeDavis1, I checked internally. The code contains the non-AVX path but we don't enable it now. Because it is hard to get better performance and some advanced kernels have not implemented the non-AVX version. Besides that, may I know the use case here? Do you want to try to use IPEX to accelerate some models on the client?

JudeDavis1 commented 2 years ago

@JudeDavis1, I checked internally. The code contains the non-AVX path but we don't enable it now. Because it is hard to get better performance and some advanced kernels have not implemented the non-AVX version. Besides that, may I know the use case here? Do you want to try to use IPEX to accelerate some models on the client?

Yep I'm just trying to speed up my model training on my current hardware as I can't yet afford any new hardware. I primarily use PyTorch but I've been looking everywhere and IPEX seemed to be a good fit, but it doesn't work on my hardware.