Linux* OS ਹੋਸਟ 'ਤੇ GDB* ਲਈ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ

ਡੀਬੱਗਿੰਗ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ GDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। CPU ਅਤੇ GPU ਜੰਤਰਾਂ ਲਈ ਔਫਲੋਡ ਕੀਤੇ ਕਰਨਲ ਨਾਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਲਈ ਡੀਬੱਗਰ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।

GDB* ਲਈ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ Intel® oneAPI ਬੇਸ ਟੂਲਕਿੱਟ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਉਪਲਬਧ ਹੈ। oneAPI ਟੂਲਕਿੱਟਾਂ ਬਾਰੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, 'ਤੇ ਜਾਓ ਉਤਪਾਦ ਪੰਨਾ.

ਦਾ ਦੌਰਾ ਕਰੋ ਰੀਲੀਜ਼ ਨੋਟਸ ਮੁੱਖ ਸਮਰੱਥਾਵਾਂ, ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਅਤੇ ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦਿਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲਈ ਪੰਨਾ।

ਤੁਸੀਂ SYCL*s ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋample ਕੋਡ, ਐਰੇ ਟ੍ਰਾਂਸਫਾਰਮ, GDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ। ਦੇ ਐੱਸample ਗਲਤੀਆਂ ਪੈਦਾ ਨਹੀਂ ਕਰਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਡੀਬਗਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਕੋਡ ਇਨਪੁਟ ਐਰੇ ਦੇ ਐਲੀਮੈਂਟਸ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਉਹ ਬਰਾਬਰ ਜਾਂ ਅਜੀਬ ਹਨ ਅਤੇ ਇੱਕ ਆਉਟਪੁੱਟ ਐਰੇ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਐੱਸampCPU ਜਾਂ GPU ਦੋਵਾਂ 'ਤੇ ਡੀਬੱਗ ਕਰਨ ਲਈ, ਕਮਾਂਡ ਲਾਈਨ ਆਰਗੂਮੈਂਟ ਰਾਹੀਂ ਚੁਣੇ ਗਏ ਯੰਤਰ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਦੇ ਹੋਏ। ਨੋਟ ਕਰੋ ਕਿ GPU ਡੀਬੱਗਿੰਗ ਲਈ ਰਿਮੋਟ ਡੀਬੱਗਿੰਗ ਲਈ ਦੋ ਸਿਸਟਮ ਅਤੇ ਵਾਧੂ ਸੰਰਚਨਾ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।

ਪੂਰਵ-ਸ਼ਰਤਾਂ

ਜੇਕਰ ਤੁਸੀਂ GPU 'ਤੇ ਡੀਬੱਗ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਨਵੀਨਤਮ GPU ਡਰਾਈਵਰਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਆਪਣੇ ਸਿਸਟਮ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ। ਨੂੰ ਵੇਖੋ Linux* OS ਲਈ Intel® oneAPI ਟੂਲਕਿਟਸ ਸਥਾਪਨਾ ਗਾਈਡ. ਹਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ Intel GPU ਡਰਾਈਵਰਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨਾਲ ਮੇਲ ਖਾਂਦਾ GPU ਡਰਾਈਵਰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ GDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਦੇ ਨਾਲ GPU ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਲਈ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ* ਲਈ ਇੱਕ ਐਕਸਟੈਂਸ਼ਨ ਸਥਾਪਤ ਕਰ ਸਕਦੇ ਹੋ। ਨੂੰ ਵੇਖੋ Intel® oneAPI ਟੂਲਕਿਟਸ ਗਾਈਡ ਦੇ ਨਾਲ ਵਿਜ਼ੂਅਲ ਸਟੂਡੀਓ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨਾ.

GPU ਡੀਬਗਰ ਸੈਟ ਅਪ ਕਰੋ

GPU ਡੀਬਗਰ ਸੈਟ ਅਪ ਕਰਨ ਲਈ, ਤੁਹਾਡੇ ਕੋਲ ਰੂਟ ਪਹੁੰਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।


ਨੋਟ ਕਰੋ ਕਰਨਲ ਡੀਬੱਗਿੰਗ ਦੌਰਾਨ, GPU ਨੂੰ ਰੋਕਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਵੀਡੀਓ ਆਉਟਪੁੱਟ ਤੁਹਾਡੀ ਟਾਰਗਿਟ ਮਸ਼ੀਨ 'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਇਸਦੇ ਕਾਰਨ, ਜੇਕਰ ਸਿਸਟਮ ਦਾ GPU ਕਾਰਡ ਗ੍ਰਾਫਿਕਲ ਆਉਟਪੁੱਟ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਤੁਸੀਂ ਟੀਚੇ ਵਾਲੇ ਸਿਸਟਮ ਤੋਂ GPU ਨੂੰ ਡੀਬੱਗ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਮਸ਼ੀਨ ਨਾਲ ssh ਦੁਆਰਾ ਜੁੜੋ।


1. ਜੇਕਰ ਤੁਸੀਂ GPU 'ਤੇ ਡੀਬੱਗ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇੱਕ ਲੀਨਕਸ ਕਰਨਲ ਦੀ ਲੋੜ ਹੈ ਜੋ GPU ਡੀਬੱਗਿੰਗ ਨੂੰ ਸਮਰਥਨ ਦਿੰਦਾ ਹੈ।

a. 'ਤੇ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਆਮ ਮਕਸਦ GPU ਸਮਰੱਥਾ ਲਈ Intel® ਸਾਫਟਵੇਅਰ ਲੋੜੀਂਦੇ ਡਰਾਈਵਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਸਥਾਪਿਤ ਕਰਨ ਲਈ।
b. ਕਰਨਲ ਵਿੱਚ i915 ਡੀਬੱਗ ਸਹਿਯੋਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ:

a. ਇੱਕ ਟਰਮੀਨਲ ਖੋਲ੍ਹੋ.
b. ਗਰਬ ਖੋਲ੍ਹੋ file /etc/default ਵਿੱਚ।
c. ਗਰਬ ਵਿੱਚ file, GRUB_CMDLINE_LINUX_DEFAULT=”” ਲਾਈਨ ਲੱਭੋ।
d. ਹਵਾਲੇ ਦੇ ਵਿਚਕਾਰ ਹੇਠ ਲਿਖਿਆ ਟੈਕਸਟ ਦਰਜ ਕਰੋ (""):

i915.debug_eu=1


ਨੋਟ ਕਰੋ ਮੂਲ ਰੂਪ ਵਿੱਚ, GPU ਡਰਾਈਵਰ ਵਰਕਲੋਡ ਨੂੰ ਇੱਕ GPU ਉੱਤੇ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸਮੇਂ ਤੋਂ ਵੱਧ ਸਮੇਂ ਤੱਕ ਚੱਲਣ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ ਹੈ। ਡਰਾਈਵਰ ਹੈਂਗ ਨੂੰ ਰੋਕਣ ਲਈ GPU ਨੂੰ ਰੀਸੈਟ ਕਰਕੇ ਲੰਬੇ ਸਮੇਂ ਤੋਂ ਚੱਲ ਰਹੇ ਕੰਮ ਦੇ ਬੋਝ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਐਪਲੀਕੇਸ਼ਨ ਡੀਬੱਗਰ ਦੇ ਅਧੀਨ ਚੱਲ ਰਹੀ ਹੈ ਤਾਂ ਡਰਾਈਵਰ ਦੀ ਹੈਂਗਚੈਕ ਵਿਧੀ ਅਸਮਰੱਥ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਲੰਬੇ ਕੰਪਿਊਟ ਵਰਕਲੋਡ ਨੂੰ ਵੀ ਬਿਨਾਂ ਡੀਬੱਗਰ ਜੁੜੇ ਹੋਣ ਦੀ ਯੋਜਨਾ ਬਣਾ ਰਹੇ ਹੋ, ਤਾਂ ਅਰਜ਼ੀ ਦੇਣ 'ਤੇ ਵਿਚਾਰ ਕਰੋ GPU: ਹੈਂਗਚੈਕ ਨੂੰ ਅਯੋਗ ਕਰੋ ਜੋੜ ਕੇ

i915.enable_hangcheck=0

ਉਸੇ ਹੀ ਕਰਨ ਲਈ GRUB_CMDLINE_LINUX_DEFAULT ਲਾਈਨ।

c. ਇਹਨਾਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ GRUB ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ:

sudo update-grub

d. ਰੀਬੂਟ ਕਰੋ।

2. ਆਪਣੀ ਟੂਲਕਿੱਟ ਇੰਸਟਾਲੇਸ਼ਨ ਦੇ ਰੂਟ ਵਿੱਚ ਸਥਿਤ setvars ਸਕ੍ਰਿਪਟ ਨੂੰ ਸੋਰਸ ਕਰਕੇ ਆਪਣੇ CLI ਵਾਤਾਵਰਣ ਨੂੰ ਸੈਟ ਅਪ ਕਰੋ।

Linux (sudo):

ਸਰੋਤ /opt/intel/oneapi/setvars.sh

ਲੀਨਕਸ (ਉਪਭੋਗਤਾ):

ਸਰੋਤ ~/intel/oneapi/setvars.sh

3. ਸੈੱਟਅੱਪ ਵਾਤਾਵਰਣ
Intel® oneAPI ਲੈਵਲ ਜ਼ੀਰੋ ਲਈ ਡੀਬੱਗਰ ਸਮਰਥਨ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰੋ:

ਨਿਰਯਾਤ ZET_ENABLE_PROGRAM_DEBUGGING=1
IGC_EnableGTLocationDebugging=1 ਨਿਰਯਾਤ ਕਰੋ

4. ਸਿਸਟਮ ਜਾਂਚ
ਜਦੋਂ ਸਭ ਕੁਝ ਤਿਆਰ ਹੋ ਜਾਂਦਾ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਓ ਕਿ ਸਿਸਟਮ ਸੰਰਚਨਾ ਭਰੋਸੇਯੋਗ ਹੈ:

python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force

ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਰਚਿਤ ਸਿਸਟਮ ਦਾ ਇੱਕ ਸੰਭਾਵੀ ਆਉਟਪੁੱਟ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ:


ਨਤੀਜਿਆਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ:
========================================== ============================
ਨਾਮ ਦੀ ਜਾਂਚ ਕਰੋ: debugger_sys_check
ਵਰਣਨ: ਇਹ ਜਾਂਚ ਤਸਦੀਕ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਵਾਤਾਵਰਨ GDB* ਲਈ gdb (Intel(R) ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਤਿਆਰ ਹੈ।
ਨਤੀਜੇ ਦੀ ਸਥਿਤੀ: ਪਾਸ
ਡੀਬੱਗਰ ਲੱਭਿਆ।
libipt ਮਿਲਿਆ।
libiga ਪਾਇਆ.
i915 ਡੀਬੱਗ ਚਾਲੂ ਹੈ।
ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਸਹੀ ਹਨ। ========================================== ============================

1 ਜਾਂਚ: 1 ਪਾਸ, 0 ਫੇਲ, 0 ਚੇਤਾਵਨੀਆਂ, 0 ਗਲਤੀਆਂ

ਕੰਸੋਲ ਆਉਟਪੁੱਟ file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON ਆਉਟਪੁੱਟ file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

ਡੀਬੱਗ ਜਾਣਕਾਰੀ ਨਾਲ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ

ਤੁਸੀਂ ਐੱਸample ਪ੍ਰੋਜੈਕਟ, ਐਰੇ ਟ੍ਰਾਂਸਫਾਰਮ, ਐਪਲੀਕੇਸ਼ਨ ਡੀਬਗਰ ਨਾਲ ਜਲਦੀ ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ।

1. ਲੈਣ ਲਈ ਐੱਸample, ਹੇਠ ਦਿੱਤੇ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਚੁਣੋ:

2. s ਦੇ src 'ਤੇ ਨੈਵੀਗੇਟ ਕਰੋampਲੇ ਪ੍ਰੋਜੈਕਟ:

cd array-transform/src

3. ਡੀਬੱਗ ਜਾਣਕਾਰੀ (-ਜੀ ਫਲੈਗ) ਨੂੰ ਸਮਰੱਥ ਕਰਕੇ ਅਤੇ ਅਨੁਕੂਲਨ (-O0 ਫਲੈਗ) ਨੂੰ ਬੰਦ ਕਰਕੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ।
ਇੱਕ ਸਥਿਰ ਅਤੇ ਸਟੀਕ ਡੀਬੱਗ ਵਾਤਾਵਰਨ ਲਈ ਅਨੁਕੂਲਨ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਕੰਪਾਈਲਰ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਕੋਡ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਾਰਨ ਹੋਣ ਵਾਲੀ ਉਲਝਣ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।


ਨੋਟ ਕਰੋ ਤੁਸੀਂ ਅਜੇ ਵੀ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਸਮਰਥਿਤ (-O2 ਫਲੈਗ) ਦੇ ਨਾਲ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਕੰਪਾਇਲ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਮਦਦਗਾਰ ਹੋ ਸਕਦਾ ਹੈ ਜੇਕਰ ਤੁਸੀਂ GPU ਅਸੈਂਬਲੀ ਡੀਬੱਗਿੰਗ ਦਾ ਟੀਚਾ ਰੱਖਦੇ ਹੋ।


ਤੁਸੀਂ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਕੰਪਾਇਲ ਕਰ ਸਕਦੇ ਹੋ। ਵਿਕਲਪ 1 ਅਤੇ 2 ਬਸ-ਇਨ-ਟਾਈਮ (JIT) ਸੰਕਲਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਜੋ ਕਿ s ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਲਈ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।ample. ਵਿਕਲਪ 3 ਅੱਗੇ-ਦੇ-ਸਮੇਂ (AOT) ਸੰਕਲਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

  • ਵਿਕਲਪ 1. ਤੁਸੀਂ CMake ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ file ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਅਤੇ ਬਣਾਉਣ ਲਈ। ਨੂੰ ਵੇਖੋ README ਦੇampਹਦਾਇਤਾਂ ਲਈ le.

ਨੋਟ ਕਰੋ ਸੀਮੇਕ file ਐੱਸ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਹੈample ਪਹਿਲਾਂ ਹੀ -g -O0 ਫਲੈਗ ਪਾਸ ਕਰਦਾ ਹੈ।


  • ਵਿਕਲਪ 2. array-transform.cpp s ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਲਈampਸੀਮੇਕ ਤੋਂ ਬਿਨਾਂ ਐਪਲੀਕੇਸ਼ਨ file, ਹੇਠ ਲਿਖੀਆਂ ਕਮਾਂਡਾਂ ਜਾਰੀ ਕਰੋ:

icpx -fsycl -g -O0 array-transform.cpp -o ਐਰੇ-ਟ੍ਰਾਂਸਫਾਰਮ

ਜੇਕਰ ਕੰਪਾਇਲੇਸ਼ਨ ਅਤੇ ਲਿੰਕਿੰਗ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਲਿੰਕ ਸਟੈਪ 'ਤੇ -g -O0 ਫਲੈਗ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖੋ। ਲਿੰਕ ਸਟੈਪ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ icpx ਇਹਨਾਂ ਫਲੈਗਾਂ ਨੂੰ ਰਨਟਾਈਮ 'ਤੇ ਡਿਵਾਈਸ ਕੰਪਾਈਲਰ ਨੂੰ ਪਾਸ ਕਰਨ ਲਈ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ। ਸਾਬਕਾampLe:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o ਐਰੇ-ਟ੍ਰਾਂਸਫਾਰਮ

  • ਵਿਕਲਪ 3. ਤੁਸੀਂ ਰਨਟਾਈਮ 'ਤੇ ਲੰਬੇ JIT ਸੰਕਲਨ ਸਮੇਂ ਤੋਂ ਬਚਣ ਲਈ AOT ਸੰਕਲਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਡੀਬੱਗਰ ਦੇ ਹੇਠਾਂ ਵੱਡੇ ਕਰਨਲ ਲਈ JIT ਕੰਪਾਈਲੇਸ਼ਨ ਵਿੱਚ ਕਾਫ਼ੀ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ। ਅੱਗੇ-ਦੇ-ਸਮੇਂ ਦੇ ਸੰਕਲਨ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ:

• ਇੱਕ GPU 'ਤੇ ਡੀਬੱਗਿੰਗ ਲਈ:
ਉਹ ਡਿਵਾਈਸ ਨਿਰਧਾਰਤ ਕਰੋ ਜਿਸਦੀ ਵਰਤੋਂ ਤੁਸੀਂ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕਰੋਗੇ। ਸਾਬਕਾ ਲਈample, Intel® ਡਾਟਾ ਸੈਂਟਰ GPU Flex 2 ਗ੍ਰਾਫਿਕਸ ਲਈ -device dg10-g140। ਸਮਰਥਿਤ ਵਿਕਲਪਾਂ ਦੀ ਸੂਚੀ ਅਤੇ AOT ਸੰਕਲਨ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਵੇਖੋ Intel® oneAPI DPC++ ਕੰਪਾਈਲਰ ਡਿਵੈਲਪਰ ਗਾਈਡ ਅਤੇ ਹਵਾਲਾ.
ਸਾਬਕਾ ਲਈampLe:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform

ਅਗੇਡ-ਆਫ-ਟਾਈਮ ਕੰਪਾਈਲੇਸ਼ਨ ਲਈ OpenCLTM ਔਫਲਾਈਨ ਕੰਪਾਈਲਰ (OC ਕੰਪਾਈਲਰ LOC) ਦੀ ਲੋੜ ਹੈ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਸੈਕਸ਼ਨ "ਇੰਸਟਾਲ ਓਪਨਸੀਐਲਟੀਐਮ ਔਫਲਾਈਨ ਕੰਪਾਈਲਰ (ਓਸੀਐਲਓਸੀ)" ਵੇਖੋ ਇੰਸਟਾਲੇਸ਼ਨ ਗਾਈਡ.

• ਇੱਕ CPU 'ਤੇ ਡੀਬੱਗਿੰਗ ਲਈ:

icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o ਐਰੇ-ਟ੍ਰਾਂਸਫਾਰਮ

ਇੱਕ ਡੀਬੱਗ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ

ਡੀਬੱਗ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ:

1. ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ GDB* ਲਈ Intel® ਵੰਡ ਸ਼ੁਰੂ ਕਰੋ:

gdb-oneapi ਐਰੇ-ਟ੍ਰਾਂਸਫਾਰਮ

ਤੁਹਾਨੂੰ (gdb) ਪ੍ਰੋਂਪਟ ਦੇਖਣਾ ਚਾਹੀਦਾ ਹੈ।

2. ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਕਰਨਲ ਨੂੰ ਸਹੀ ਜੰਤਰ ਤੇ ਆਫਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ, ਹੇਠਾਂ ਦਿੱਤੇ ਪਗ ਕਰੋ। ਜਦੋਂ ਤੁਸੀਂ (gdb) ਪ੍ਰੋਂਪਟ ਤੋਂ ਰਨ ਕਮਾਂਡ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਪਾਸ ਕਰੋ cpu, gpu or ਐਕਸਲੇਟਰ ਦਲੀਲ:

  • CPU 'ਤੇ ਡੀਬੱਗਿੰਗ ਲਈ:

cpu ਚਲਾਓ

Example ਆਉਟਪੁੱਟ:

[SYCL] ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ: [Intel(R) OpenCL] ਤੋਂ [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz]
  • GPU 'ਤੇ ਡੀਬੱਗਿੰਗ ਲਈ:

gpu ਚਲਾਓ

Example ਆਉਟਪੁੱਟ:

[SYCL] ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ: [Intel(R) LevelZero] ਤੋਂ [Intel(R) ਡਾਟਾ ਸੈਂਟਰ GPU ਫਲੈਕਸ ਸੀਰੀਜ਼ 140 [0x56c1]]
  • FPGA-ਈਮੂਲੇਟਰ 'ਤੇ ਡੀਬੱਗਿੰਗ ਲਈ:

ਐਕਸਲੇਟਰ ਚਲਾਓ

Example ਆਉਟਪੁੱਟ:

[SYCL] ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ: [Intel(R) FPGA ਇਮੂਲੇਸ਼ਨ ਡਿਵਾਈਸ] [Intel(R) FPGA ਇਮੂਲੇਸ਼ਨ ਪਲੇਟਫਾਰਮ ਓਪਨCL(TM) ਸੌਫਟਵੇਅਰ ਲਈ]

ਨੋਟ ਕਰੋ cpu, gpu, ਅਤੇ ਐਕਸਲੇਟਰ ਪੈਰਾਮੀਟਰ ਐਰੇ ਟ੍ਰਾਂਸਫਾਰਮ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਖਾਸ ਹਨ।


3. GDB* ਲਈ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਨੂੰ ਛੱਡਣ ਲਈ:

ਛੱਡੋ

ਤੁਹਾਡੀ ਸਹੂਲਤ ਲਈ, GDB* ਕਮਾਂਡਾਂ ਲਈ ਆਮ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ ਹਵਾਲਾ ਸ਼ੀਟ.

ਐਰੇ ਟ੍ਰਾਂਸਫਾਰਮ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਲਈ sampਅਤੇ GDB* ਲਈ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਬਾਰੇ ਹੋਰ ਸਿੱਖੋ, ਟਿਊਟੋਰਿਅਲ.

ਜਿਆਦਾ ਜਾਣੋ
ਦਸਤਾਵੇਜ਼ ਵਰਣਨ
ਟਿਊਟੋਰਿਅਲ: GDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਨਾਲ ਡੀਬੱਗਿੰਗ ਇਹ ਦਸਤਾਵੇਜ਼ GDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਦੇ ਨਾਲ SYCL* ਅਤੇ OpenCL ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਦੌਰਾਨ ਅਨੁਸਰਣ ਕਰਨ ਲਈ ਬੁਨਿਆਦੀ ਦ੍ਰਿਸ਼ਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ।
GDB* ਉਪਭੋਗਤਾ ਗਾਈਡ ਲਈ Intel® ਵੰਡ ਇਹ ਦਸਤਾਵੇਜ਼ ਉਹਨਾਂ ਸਾਰੇ ਆਮ ਕੰਮਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ ਜੋ ਤੁਸੀਂ GDB* ਲਈ Intel® Distribution ਨਾਲ ਪੂਰਾ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਲੋੜੀਂਦੇ ਤਕਨੀਕੀ ਵੇਰਵੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
GDB* ਰੀਲੀਜ਼ ਨੋਟਸ ਲਈ Intel® ਵੰਡ ਨੋਟਸ ਵਿੱਚ ਮੁੱਖ ਸਮਰੱਥਾਵਾਂ, ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਅਤੇ GDB* ਲਈ Intel® ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਦੇ ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦਿਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੈ।
oneAPI ਉਤਪਾਦ ਪੰਨਾ ਇਸ ਪੰਨੇ ਵਿੱਚ ਇੱਕ ਏਪੀਆਈ ਟੂਲਕਿੱਟਾਂ ਅਤੇ ਉਪਯੋਗੀ ਸਰੋਤਾਂ ਦੇ ਲਿੰਕ ਬਾਰੇ ਸੰਖੇਪ ਜਾਣਕਾਰੀ ਹੈ।
GDB* ਹਵਾਲਾ ਸ਼ੀਟ ਲਈ Intel® ਵੰਡ ਇਹ ਇੱਕ ਪੰਨੇ ਦਾ ਦਸਤਾਵੇਜ਼ GDB* ਪੂਰਵ-ਲੋੜਾਂ ਅਤੇ ਉਪਯੋਗੀ ਕਮਾਂਡਾਂ ਲਈ Intel® ਵੰਡ ਦਾ ਸੰਖੇਪ ਵਰਣਨ ਕਰਦਾ ਹੈ।
ਜੈਕੋਬੀ ਐਸample ਇਸ ਛੋਟੀ SYCL* ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਦੋ ਸੰਸਕਰਣ ਹਨ: ਬੱਗ ਅਤੇ ਫਿਕਸਡ। ਐੱਸ ਦੀ ਵਰਤੋਂ ਕਰੋampGDB* ਲਈ Intel® ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਨਾਲ ਐਪਲੀਕੇਸ਼ਨ ਡੀਬੱਗਿੰਗ ਦਾ ਅਭਿਆਸ ਕਰਨ ਲਈ।
ਨੋਟਿਸ ਅਤੇ ਬੇਦਾਅਵਾ

ਇੰਟੈੱਲ ਤਕਨਾਲੋਜੀਆਂ ਨੂੰ ਸਮਰੱਥ ਹਾਰਡਵੇਅਰ, ਸਾੱਫਟਵੇਅਰ ਜਾਂ ਸੇਵਾ ਐਕਟੀਵੇਸ਼ਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ.

ਕੋਈ ਵੀ ਉਤਪਾਦ ਜਾਂ ਭਾਗ ਬਿਲਕੁਲ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੋ ਸਕਦਾ।

ਤੁਹਾਡੀਆਂ ਕੀਮਤਾਂ ਅਤੇ ਨਤੀਜੇ ਵੱਖਰੇ ਹੋ ਸਕਦੇ ਹਨ.

© ਇੰਟੇਲ ਕਾਰਪੋਰੇਸ਼ਨ। Intel, Intel ਲੋਗੋ, ਅਤੇ ਹੋਰ Intel ਚਿੰਨ੍ਹ Intel ਕਾਰਪੋਰੇਸ਼ਨ ਜਾਂ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ਹੋਰ ਨਾਵਾਂ ਅਤੇ ਬ੍ਰਾਂਡਾਂ 'ਤੇ ਦੂਜਿਆਂ ਦੀ ਸੰਪਤੀ ਵਜੋਂ ਦਾਅਵਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਇਸ ਦਸਤਾਵੇਜ਼ ਦੁਆਰਾ ਕਿਸੇ ਵੀ ਬੌਧਿਕ ਸੰਪੱਤੀ ਦੇ ਅਧਿਕਾਰਾਂ ਲਈ ਕੋਈ ਲਾਇਸੈਂਸ (ਐਸਟੋਪਲ ਦੁਆਰਾ ਜਾਂ ਕਿਸੇ ਹੋਰ ਤਰੀਕੇ ਨਾਲ ਪ੍ਰਗਟ ਜਾਂ ਸੰਕੇਤ) ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।

ਵਰਣਿਤ ਉਤਪਾਦਾਂ ਵਿੱਚ ਡਿਜ਼ਾਈਨ ਨੁਕਸ ਜਾਂ ਇਰੱਟਾ ਵਜੋਂ ਜਾਣੀਆਂ ਜਾਂਦੀਆਂ ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜੋ ਉਤਪਾਦ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੋਂ ਭਟਕਣ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀਆਂ ਹਨ। ਮੌਜੂਦਾ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਇਰੱਟਾ ਬੇਨਤੀ 'ਤੇ ਉਪਲਬਧ ਹੈ।

Intel ਸਾਰੀਆਂ ਐਕਸਪ੍ਰੈਸ ਅਤੇ ਅਪ੍ਰਤੱਖ ਵਾਰੰਟੀਆਂ ਦਾ ਖੰਡਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸੀਮਾ ਤੋਂ ਬਿਨਾਂ, ਵਪਾਰਕਤਾ ਦੀਆਂ ਅਪ੍ਰਤੱਖ ਵਾਰੰਟੀਆਂ, ਕਿਸੇ ਖਾਸ ਉਦੇਸ਼ ਲਈ ਤੰਦਰੁਸਤੀ, ਅਤੇ ਗੈਰ-ਉਲੰਘਣਾ, ਅਤੇ ਨਾਲ ਹੀ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਕੋਰਸ, ਸੌਦੇ ਦੇ ਕੋਰਸ, ਜਾਂ ਵਪਾਰ ਵਿੱਚ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀ ਕੋਈ ਵੀ ਵਾਰੰਟੀ ਸ਼ਾਮਲ ਹੈ।

OpenCL ਅਤੇ OpenCL ਲੋਗੋ ਐਪਲ ਇੰਕ. ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ ਜੋ Khronos ਦੁਆਰਾ ਇਜਾਜ਼ਤ ਦੁਆਰਾ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

ਲੀਨਕਸ OS ਹੋਸਟ 'ਤੇ GDB ਲਈ intel ਡਿਸਟਰੀਬਿਊਸ਼ਨ [pdf] ਯੂਜ਼ਰ ਗਾਈਡ
ਲੀਨਕਸ OS ਹੋਸਟ 'ਤੇ GDB, Linux OS ਹੋਸਟ 'ਤੇ GDB, ਲੀਨਕਸ OS ਹੋਸਟ, OS ਹੋਸਟ, ਹੋਸਟ ਲਈ ਵੰਡ

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *