Update scripts readme (#10725)
* Update scripts readme * Update scripts readme * Update README * Update readme * Update readme * Update windows env check readme * Adjust env check readme * Update windows env check * Update env check readme * Adjust the env-check README * Modify the env-check README
This commit is contained in:
		
							parent
							
								
									cd369c2715
								
							
						
					
					
						commit
						ca2479be87
					
				
					 3 changed files with 289 additions and 52 deletions
				
			
		| 
						 | 
					@ -24,27 +24,56 @@ sudo apt install xpu-smi
 | 
				
			||||||
  > If you do not know how to install `ipex-llm`, refer to [IPEX-LLM installation](https://ipex-llm.readthedocs.io/en/latest/doc/LLM/Overview/install.html) for more details.
 | 
					  > If you do not know how to install `ipex-llm`, refer to [IPEX-LLM installation](https://ipex-llm.readthedocs.io/en/latest/doc/LLM/Overview/install.html) for more details.
 | 
				
			||||||
*  Within the activated python environment, run below command:
 | 
					*  Within the activated python environment, run below command:
 | 
				
			||||||
    *  On Linux
 | 
					    *  On Linux
 | 
				
			||||||
 | 
					        1. Install clinfo 
 | 
				
			||||||
 | 
					          ```sudo apt install clinfo```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        2. Activate oneapi
 | 
				
			||||||
 | 
					            Activate the `setvars.sh` file in the folder where you installed the oneapi
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            ```
 | 
				
			||||||
 | 
					            source /opt/intel/oneapi/setvars.sh
 | 
				
			||||||
 | 
					            ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        3. Run the env check
 | 
				
			||||||
            ```bash
 | 
					            ```bash
 | 
				
			||||||
            bash env-check.sh
 | 
					            bash env-check.sh
 | 
				
			||||||
            ```
 | 
					            ```
 | 
				
			||||||
    * On Windows,
 | 
					
 | 
				
			||||||
 | 
					    * On Windows
 | 
				
			||||||
 | 
					        1. Activate oneapi
 | 
				
			||||||
 | 
					            Activate the `setvars.bat` file in the folder where you installed the oneapi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ```bash
 | 
				
			||||||
 | 
					            call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
 | 
				
			||||||
 | 
					            ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        2. Download the XPU manager
 | 
				
			||||||
 | 
					            Go to the [xpu manager download webpage](https://github.com/intel/xpumanager/releases) to download the latest `xpu-smi` zip file (e.g. xpu-smi-1.2.34-20240417.060819.a50c0371_win.zip). Unzip it and copy the `env-check.bat` and `check.py` files into the unzipped folder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        3. Run the env check
 | 
				
			||||||
 | 
					            In your terminal, enter the unzipped folder and run:
 | 
				
			||||||
            ```bash
 | 
					            ```bash
 | 
				
			||||||
            env-check.bat
 | 
					            env-check.bat
 | 
				
			||||||
            ```
 | 
					            ```
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        4. Additional Information
 | 
				
			||||||
 | 
					            If you want to know the GPU memory information, you can use `ctrl+shift+esc` to open the task manager.
 | 
				
			||||||
 | 
					            Then enter the performance section on the left navigation bar and go to the GPU section,
 | 
				
			||||||
 | 
					            you can check GPU memory under the `GPU Memory`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Sample outputs
 | 
					### Sample outputs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* An example output on a Linux Desktop equipped with i9 13900K Intel Core CPU and Intel(R) Arc(TM) A770 GPU looks like below.
 | 
					* Linux Desktop equipped with i9 12900K Intel Core CPU and Intel(R) Arc(TM) A770 GPU example output:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
PYTHON_VERSION=3.9.19
 | 
					PYTHON_VERSION=3.9.18
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
transformers=4.31.0
 | 
					transformers=4.31.0
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
torch=2.1.0a0+cxx11.abi
 | 
					torch=2.1.0a0+cxx11.abi
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
ipex-llm Version: 2.1.0b20240327
 | 
					ipex-llm Version: 2.1.0b20240325
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
ipex=2.1.10+xpu
 | 
					ipex=2.1.10+xpu
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					@ -53,51 +82,42 @@ Architecture:                    x86_64
 | 
				
			||||||
CPU op-mode(s):                     32-bit, 64-bit
 | 
					CPU op-mode(s):                     32-bit, 64-bit
 | 
				
			||||||
Address sizes:                      46 bits physical, 48 bits virtual
 | 
					Address sizes:                      46 bits physical, 48 bits virtual
 | 
				
			||||||
Byte Order:                         Little Endian
 | 
					Byte Order:                         Little Endian
 | 
				
			||||||
CPU(s):                          32
 | 
					CPU(s):                             24
 | 
				
			||||||
On-line CPU(s) list:             0-31
 | 
					On-line CPU(s) list:                0-23
 | 
				
			||||||
Vendor ID:                          GenuineIntel
 | 
					Vendor ID:                          GenuineIntel
 | 
				
			||||||
Model name:                      13th Gen Intel(R) Core(TM) i9-13900K
 | 
					Model name:                         12th Gen Intel(R) Core(TM) i9-12900K
 | 
				
			||||||
CPU family:                         6
 | 
					CPU family:                         6
 | 
				
			||||||
Model:                           183
 | 
					Model:                              151
 | 
				
			||||||
Thread(s) per core:                 2
 | 
					Thread(s) per core:                 2
 | 
				
			||||||
Core(s) per socket:              24
 | 
					Core(s) per socket:                 16
 | 
				
			||||||
Socket(s):                          1
 | 
					Socket(s):                          1
 | 
				
			||||||
Stepping:                        1
 | 
					Stepping:                           2
 | 
				
			||||||
CPU max MHz:                     5800.0000
 | 
					CPU max MHz:                        5200.0000
 | 
				
			||||||
CPU min MHz:                        800.0000
 | 
					CPU min MHz:                        800.0000
 | 
				
			||||||
BogoMIPS:                        5990.40
 | 
					BogoMIPS:                           6374.40
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
Total Memory: 62.5479 GB
 | 
					Total CPU Memory: 62.5343 GB
 | 
				
			||||||
 | 
					Memory Type: DDR4 
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
Operating System: 
 | 
					Operating System: 
 | 
				
			||||||
Ubuntu 22.04.3 LTS \n \l
 | 
					Ubuntu 22.04.3 LTS \n \l
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
03:00.0 VGA compatible controller: Intel Corporation Device 56a0 (rev 08) (prog-if 00 [VGA controller])
 | 
					Linux arda-arc05 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
 | 
				
			||||||
        Subsystem: Device 1ef7:1307
 | 
					 | 
				
			||||||
        Flags: bus master, fast devsel, latency 0, IRQ 201
 | 
					 | 
				
			||||||
        Memory at 84000000 (64-bit, non-prefetchable) [size=16M]
 | 
					 | 
				
			||||||
        Memory at 4000000000 (64-bit, prefetchable) [size=16G]
 | 
					 | 
				
			||||||
        Expansion ROM at 85000000 [disabled] [size=2M]
 | 
					 | 
				
			||||||
        Capabilities: <access denied>
 | 
					 | 
				
			||||||
        Kernel driver in use: i915
 | 
					 | 
				
			||||||
        Kernel modules: i915
 | 
					 | 
				
			||||||
-----------------------------------------------------------------
 | 
					 | 
				
			||||||
Linux arda-arc11 5.19.0-41-generic #42~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 18 17:40:00 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
 | 
					 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
CLI:
 | 
					CLI:
 | 
				
			||||||
    Version: 1.2.13.20230704
 | 
					    Version: 1.2.22.20231025
 | 
				
			||||||
    Build ID: 00000000
 | 
					    Build ID: 00000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Service:
 | 
					Service:
 | 
				
			||||||
    Version: 1.2.13.20230704
 | 
					    Version: 1.2.22.20231025
 | 
				
			||||||
    Build ID: 00000000
 | 
					    Build ID: 00000000
 | 
				
			||||||
    Level Zero Version: 1.14.0
 | 
					    Level Zero Version: 1.14.0
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
  Driver Version                                  2023.16.11.0.22_160000
 | 
					  Driver Version                                  2023.16.10.0.17_160000
 | 
				
			||||||
  Driver Version                                  2023.16.11.0.22_160000
 | 
					  Driver Version                                  2023.16.10.0.17_160000
 | 
				
			||||||
  Driver UUID                                     32332e31-372e-3236-3234-312e33330000
 | 
					  Driver UUID                                     32332e33-352e-3237-3139-312e34320000
 | 
				
			||||||
  Driver Version                                  23.17.26241.33
 | 
					  Driver Version                                  23.35.27191.42
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
igpu not detected
 | 
					igpu not detected
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					@ -113,5 +133,122 @@ xpu-smi is properly installed.
 | 
				
			||||||
|           | DRM Device: /dev/dri/card0                                                           |
 | 
					|           | DRM Device: /dev/dri/card0                                                           |
 | 
				
			||||||
|           | Function Type: physical                                                              |
 | 
					|           | Function Type: physical                                                              |
 | 
				
			||||||
+-----------+--------------------------------------------------------------------------------------+
 | 
					+-----------+--------------------------------------------------------------------------------------+
 | 
				
			||||||
 | 
					GPU0 Memory size=16G
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					03:00.0 VGA compatible controller: Intel Corporation Device 56a0 (rev 08) (prog-if 00 [VGA controller])
 | 
				
			||||||
 | 
					        Subsystem: Device 1ef7:1307
 | 
				
			||||||
 | 
					        Flags: bus master, fast devsel, latency 0, IRQ 175
 | 
				
			||||||
 | 
					        Memory at 84000000 (64-bit, non-prefetchable) [size=16M]
 | 
				
			||||||
 | 
					        Memory at 4000000000 (64-bit, prefetchable) [size=16G]
 | 
				
			||||||
 | 
					        Expansion ROM at 85000000 [disabled] [size=2M]
 | 
				
			||||||
 | 
					        Capabilities: <access denied>
 | 
				
			||||||
 | 
					        Kernel driver in use: i915
 | 
				
			||||||
 | 
					        Kernel modules: i915
 | 
				
			||||||
-----------------------------------------------------------------
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Windows Desktop equipped with i9 13900K Intel Core CPU and Intel(R) Arc(TM) A770 GPU example output:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Python 3.11.8
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					transformers=4.37.2
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					torch=2.1.0a0+cxx11.abi
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					Name: ipex-llm
 | 
				
			||||||
 | 
					Version: 2.1.0b20240410
 | 
				
			||||||
 | 
					Summary: Large Language Model Develop Toolkit
 | 
				
			||||||
 | 
					Home-page: https://github.com/intel-analytics/BigDLy
 | 
				
			||||||
 | 
					Author: BigDL Authors
 | 
				
			||||||
 | 
					Author-email: bigdl-user-group@googlegroups.com
 | 
				
			||||||
 | 
					License: Apache License, Version 2.0
 | 
				
			||||||
 | 
					Location: C:\Users\arda\miniconda3\envs\ipex-llm-langchain-chatchat\Lib\site-packages
 | 
				
			||||||
 | 
					Requires:
 | 
				
			||||||
 | 
					Required-by:
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					ipex=2.1.10+xpu
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					Total Memory: 63.747 GB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Chip 0 Memory: 32 GB | Speed: 5600 MHz
 | 
				
			||||||
 | 
					Chip 1 Memory: 32 GB | Speed: 5600 MHz
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					CPU Manufacturer: GenuineIntel
 | 
				
			||||||
 | 
					CPU MaxClockSpeed: 3000
 | 
				
			||||||
 | 
					CPU Name: 13th Gen Intel(R) Core(TM) i9-13900K
 | 
				
			||||||
 | 
					CPU NumberOfCores: 24
 | 
				
			||||||
 | 
					CPU NumberOfLogicalProcessors: 32
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					GPU 0: Intel(R) Arc(TM) A770 Graphics    Driver Version: 31.0.101.5084
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					System Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Host Name:                 DESKTOP-ORSLCSS
 | 
				
			||||||
 | 
					OS Name:                   Microsoft Windows 11 Enterprise
 | 
				
			||||||
 | 
					OS Version:                10.0.22631 N/A Build 22631
 | 
				
			||||||
 | 
					OS Manufacturer:           Microsoft Corporation
 | 
				
			||||||
 | 
					OS Configuration:          Member Workstation
 | 
				
			||||||
 | 
					OS Build Type:             Multiprocessor Free
 | 
				
			||||||
 | 
					Registered Owner:          Intel User
 | 
				
			||||||
 | 
					Registered Organization:   Intel Corporation
 | 
				
			||||||
 | 
					Product ID:                00330-80000-00000-AA989
 | 
				
			||||||
 | 
					Original Install Date:     4/9/2024, 1:40:07 PM
 | 
				
			||||||
 | 
					System Boot Time:          4/12/2024, 12:50:50 PM
 | 
				
			||||||
 | 
					System Manufacturer:       HP
 | 
				
			||||||
 | 
					System Model:              HP EliteBook 840 G8 Notebook PC
 | 
				
			||||||
 | 
					System Type:               x64-based PC
 | 
				
			||||||
 | 
					Processor(s):              1 Processor(s) Installed.
 | 
				
			||||||
 | 
					                           [01]: Intel64 Family 6 Model 140 Stepping 1 GenuineIntel ~2995 Mhz
 | 
				
			||||||
 | 
					BIOS Version:              HP T37 Ver. 01.16.00, 1/18/2024
 | 
				
			||||||
 | 
					Windows Directory:         C:\WINDOWS
 | 
				
			||||||
 | 
					System Directory:          C:\WINDOWS\system32
 | 
				
			||||||
 | 
					Boot Device:               \Device\HarddiskVolume1
 | 
				
			||||||
 | 
					System Locale:             en-us;English (United States)
 | 
				
			||||||
 | 
					Input Locale:              en-us;English (United States)
 | 
				
			||||||
 | 
					Time Zone:                 (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
 | 
				
			||||||
 | 
					Total Physical Memory:     16,112 MB
 | 
				
			||||||
 | 
					Available Physical Memory: 3,723 MB
 | 
				
			||||||
 | 
					Virtual Memory: Max Size:  23,792 MB
 | 
				
			||||||
 | 
					Virtual Memory: Available: 9,035 MB
 | 
				
			||||||
 | 
					Virtual Memory: In Use:    14,757 MB
 | 
				
			||||||
 | 
					Page File Location(s):     C:\pagefile.sys
 | 
				
			||||||
 | 
					Domain:                    ccr.corp.intel.com
 | 
				
			||||||
 | 
					Logon Server:              \\PGSCCR601
 | 
				
			||||||
 | 
					Hotfix(s):                 5 Hotfix(s) Installed.
 | 
				
			||||||
 | 
					                           [01]: KB5034467
 | 
				
			||||||
 | 
					                           [02]: KB5027397
 | 
				
			||||||
 | 
					                           [03]: KB5036893
 | 
				
			||||||
 | 
					                           [04]: KB5035967
 | 
				
			||||||
 | 
					                           [05]: KB5037020
 | 
				
			||||||
 | 
					Network Card(s):           4 NIC(s) Installed.
 | 
				
			||||||
 | 
					                           [01]: Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
 | 
				
			||||||
 | 
					                                 Connection Name: Ethernet 3
 | 
				
			||||||
 | 
					                                 Status:          Hardware not present
 | 
				
			||||||
 | 
					                           [02]: Intel(R) Wi-Fi 6 AX201 160MHz
 | 
				
			||||||
 | 
					                                 Connection Name: Wi-Fi
 | 
				
			||||||
 | 
					                                 DHCP Enabled:    Yes
 | 
				
			||||||
 | 
					                                 DHCP Server:     10.239.27.228
 | 
				
			||||||
 | 
					                                 IP address(es)
 | 
				
			||||||
 | 
					                                 [01]: 10.239.44.96
 | 
				
			||||||
 | 
					                                 [02]: fe80::95ba:2f4c:c5bf:74c
 | 
				
			||||||
 | 
					                           [03]: Bluetooth Device (Personal Area Network)
 | 
				
			||||||
 | 
					                                 Connection Name: Bluetooth Network Connection
 | 
				
			||||||
 | 
					                                 Status:          Media disconnected
 | 
				
			||||||
 | 
					                           [04]: PANGP Virtual Ethernet Adapter Secure
 | 
				
			||||||
 | 
					                                 Connection Name: Ethernet
 | 
				
			||||||
 | 
					                                 DHCP Enabled:    No
 | 
				
			||||||
 | 
					                                 IP address(es)
 | 
				
			||||||
 | 
					                                 [01]: 10.247.2.67
 | 
				
			||||||
 | 
					Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.
 | 
				
			||||||
 | 
					-----------------------------------------------------------------
 | 
				
			||||||
 | 
					+-----------+--------------------------------------------------------------------------------------+
 | 
				
			||||||
 | 
					| Device ID | Device Information                                                                   |
 | 
				
			||||||
 | 
					+-----------+--------------------------------------------------------------------------------------+
 | 
				
			||||||
 | 
					| 0         | Device Name: Intel(R) Arc(TM) A770 Graphics                                          |
 | 
				
			||||||
 | 
					|           | Vendor Name: Intel(R) Corporation                                                    |
 | 
				
			||||||
 | 
					|           | UUID: 00000000-0000-0003-0000-000856a08086                                           |
 | 
				
			||||||
 | 
					|           | PCI BDF Address: 0000:03:00.0                                                        |
 | 
				
			||||||
 | 
					+-----------+--------------------------------------------------------------------------------------+
 | 
				
			||||||
 | 
					``` 
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
 | 
					import subprocess
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def check_python_version():
 | 
					def check_python_version():
 | 
				
			||||||
| 
						 | 
					@ -42,7 +43,6 @@ def check_torch_version():
 | 
				
			||||||
    except:
 | 
					    except:
 | 
				
			||||||
        print("PyTorch is not installed.")
 | 
					        print("PyTorch is not installed.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
def check_torch_version():
 | 
					def check_torch_version():
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        import torch
 | 
					        import torch
 | 
				
			||||||
| 
						 | 
					@ -55,7 +55,6 @@ def check_ipex_llm_version():
 | 
				
			||||||
    if os.system("pip show ipex-llm")!=0:
 | 
					    if os.system("pip show ipex-llm")!=0:
 | 
				
			||||||
        print("ipex-llm is not installed")
 | 
					        print("ipex-llm is not installed")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
def check_ipex_version():
 | 
					def check_ipex_version():
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        import intel_extension_for_pytorch as ipex
 | 
					        import intel_extension_for_pytorch as ipex
 | 
				
			||||||
| 
						 | 
					@ -63,6 +62,100 @@ def check_ipex_version():
 | 
				
			||||||
    except:
 | 
					    except:
 | 
				
			||||||
        print("IPEX is not installed properly. ")
 | 
					        print("IPEX is not installed properly. ")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def check_memory():
 | 
				
			||||||
 | 
					    physical_mem = subprocess.run('wmic computersystem get totalphysicalmemory', capture_output=True, text=True).stdout
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Example output:
 | 
				
			||||||
 | 
					        TotalPhysicalMemory
 | 
				
			||||||
 | 
					        68448202752
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    physical_mem = physical_mem.split('\n')
 | 
				
			||||||
 | 
					    for i in range(1, len(physical_mem)+1):
 | 
				
			||||||
 | 
					        if physical_mem[-i].strip().isdigit():
 | 
				
			||||||
 | 
					            print(f'Total Memory: {int(physical_mem[-i].strip()) / 1024**3:.3f} GB')
 | 
				
			||||||
 | 
					            break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    print()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    memory = subprocess.run('wmic memorychip get Capacity, Speed', capture_output=True, text=True).stdout
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Example output:
 | 
				
			||||||
 | 
					        Capacity     Speed
 | 
				
			||||||
 | 
					        34359738368  3200
 | 
				
			||||||
 | 
					        34359738368  3200
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    memory = memory.split('\n\n')
 | 
				
			||||||
 | 
					    chip_count = 0
 | 
				
			||||||
 | 
					    for i in range(1, len(memory)+1):
 | 
				
			||||||
 | 
					        if memory[-i] != '' and 'Speed' not in memory[-i]:
 | 
				
			||||||
 | 
					            capacity, speed = memory[-i].strip().split('  ')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # convert capacity from byte to GB
 | 
				
			||||||
 | 
					            capacity = str(int(int(capacity) / 1024**3))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if capacity.isdigit() and speed.isdigit():
 | 
				
			||||||
 | 
					                print(f'Chip {chip_count} Memory: {capacity} GB | Speed: {speed} MHz')
 | 
				
			||||||
 | 
					                chip_count += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def check_cpu():
 | 
				
			||||||
 | 
					    cpu_info = subprocess.run('wmic cpu get Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed, Manufacturer', capture_output=True, text=True).stdout
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Example output:
 | 
				
			||||||
 | 
					        Manufacturer  MaxClockSpeed  Name                                  NumberOfCores  NumberOfLogicalProcessors
 | 
				
			||||||
 | 
					        GenuineIntel  3200           12th Gen Intel(R) Core(TM) i9-12900K  16             24
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cpu_info = cpu_info.split('\n\n')
 | 
				
			||||||
 | 
					    names = cpu_info[0]
 | 
				
			||||||
 | 
					    values = cpu_info[1]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    idx = 0
 | 
				
			||||||
 | 
					    while idx < len(names):
 | 
				
			||||||
 | 
					        if names[idx] != ' ':
 | 
				
			||||||
 | 
					            start = idx
 | 
				
			||||||
 | 
					            name_end = names[start:].find(' ') + start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # for slicing the value
 | 
				
			||||||
 | 
					            value_end = name_end + 1
 | 
				
			||||||
 | 
					            while value_end < len(names) and names[value_end] == ' ':
 | 
				
			||||||
 | 
					                value_end += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # updagte idx
 | 
				
			||||||
 | 
					            idx = value_end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # get the slicing for the values
 | 
				
			||||||
 | 
					            value_end -= 2
 | 
				
			||||||
 | 
					            print(f'CPU {names[start:name_end]}: {values[start:value_end]}')            
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            idx += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def check_gpu_driver():
 | 
				
			||||||
 | 
					    gpu_driver_info = subprocess.run("wmic path Win32_PnPSignedDriver where \"Description like '%Intel%' and Description like '%Graphics%'\" get DeviceName, DriverVersion", capture_output=True, text=True).stdout
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Example output:
 | 
				
			||||||
 | 
					        DeviceName                                                        DriverVersion
 | 
				
			||||||
 | 
					        Intel(R) Graphics System Controller Auxiliary Firmware Interface  2322.4.7.0
 | 
				
			||||||
 | 
					        Intel(R) Graphics System Controller Firmware Interface            2337.5.3.0
 | 
				
			||||||
 | 
					        Intel(R) Graphics Command Center                                  31.0.101.5084
 | 
				
			||||||
 | 
					        Intel(R) Arc(TM) A770 Graphics                                    31.0.101.5084
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    gpu_driver_info = gpu_driver_info.split('\n\n')
 | 
				
			||||||
 | 
					    driver_info = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # filter the information
 | 
				
			||||||
 | 
					    for i in gpu_driver_info[1:]:
 | 
				
			||||||
 | 
					        if i != '':
 | 
				
			||||||
 | 
					            if 'Controller' not in i and 'Command Center' not in i:
 | 
				
			||||||
 | 
					                driver_info.append(i.strip())
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # print the gpu driver info
 | 
				
			||||||
 | 
					    gpu_num = 0
 | 
				
			||||||
 | 
					    for gpu in driver_info:
 | 
				
			||||||
 | 
					        splitted = gpu.split('  ')
 | 
				
			||||||
 | 
					        print(f'GPU {gpu_num}: {splitted[0]} \t Driver Version: {splitted[-1]}')
 | 
				
			||||||
 | 
					        gpu_num += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    if check_python_version()!=0:
 | 
					    if check_python_version()!=0:
 | 
				
			||||||
        return -1
 | 
					        return -1
 | 
				
			||||||
| 
						 | 
					@ -74,8 +167,13 @@ def main():
 | 
				
			||||||
    check_ipex_llm_version()
 | 
					    check_ipex_llm_version()
 | 
				
			||||||
    print("-----------------------------------------------------------------")
 | 
					    print("-----------------------------------------------------------------")
 | 
				
			||||||
    check_ipex_version()
 | 
					    check_ipex_version()
 | 
				
			||||||
 | 
					    print("-----------------------------------------------------------------")
 | 
				
			||||||
 | 
					    check_memory()
 | 
				
			||||||
 | 
					    print("-----------------------------------------------------------------")
 | 
				
			||||||
 | 
					    check_cpu()
 | 
				
			||||||
 | 
					    print("-----------------------------------------------------------------")
 | 
				
			||||||
 | 
					    check_gpu_driver()
 | 
				
			||||||
 | 
					    print("-----------------------------------------------------------------")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__":
 | 
					if __name__ == "__main__":
 | 
				
			||||||
    main()
 | 
					    main()
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
@echo off
 | 
					@echo off
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REM Check Python version
 | 
				
			||||||
python -V
 | 
					python -V
 | 
				
			||||||
if ERRORLEVEL 1 ( 
 | 
					if ERRORLEVEL 1 ( 
 | 
				
			||||||
    echo No Python found! How to create environment could be found in the README.md
 | 
					    echo No Python found! Instructions on how to create an environment can be found in the README.md.
 | 
				
			||||||
    goto:end
 | 
					    goto:end
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
python check.py
 | 
					python check.py
 | 
				
			||||||
| 
						 | 
					@ -12,8 +12,10 @@ echo -----------------------------------------------------------------
 | 
				
			||||||
echo System Information
 | 
					echo System Information
 | 
				
			||||||
systeminfo
 | 
					systeminfo
 | 
				
			||||||
echo -----------------------------------------------------------------
 | 
					echo -----------------------------------------------------------------
 | 
				
			||||||
xpu-smi.exe
 | 
					xpu-smi discovery
 | 
				
			||||||
if ERRORLEVEL 1 ( 
 | 
					if ERRORLEVEL 1 ( 
 | 
				
			||||||
    echo xpu-smi is not installed properly. 
 | 
					    echo xpu-smi is not installed properly. 
 | 
				
			||||||
    goto:end
 | 
					    goto:end
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue