১. পরিচিতি
উবুন্টুতে GPU ব্যবহার করার সময়, তার অবস্থা সঠিকভাবে পর্যবেক্ষণ করা অত্যন্ত গুরুত্বপূর্ণ। এটি বিশেষত ডিপ লার্নিং বা গ্রাফিক রেন্ডারিংয়ের মতো কাজের ক্ষেত্রে প্রয়োজন, যেখানে GPU ব্যবহার এবং ড্রাইভার সংস্করণ সম্পর্কে জানার বাধ্যতামূলকতা থাকে। এই প্রবন্ধে আমরা nvidia-smi—একটি NVIDIA GPU ব্যবস্থাপনা টুল—কীভাবে ব্যবহার করবেন তা ব্যাখ্যা করব এবং উবুন্টুতে GPU তথ্য যাচাই করার পদ্ধতি উপস্থাপন করব।
২. nvidia-smi দিয়ে GPU তথ্য যাচাই করা
nvidia-smi একটি কমান্ড-লাইন টুল, যা আপনাকে NVIDIA GPU-র ব্যবহার, মেমরি ব্যবহার এবং অন্যান্য বিশদ তথ্য পর্যবেক্ষণ করতে সহায়তা করে। রিয়েল-টাইমে GPU কার্যকলাপ পরীক্ষা করা বা বিস্তারিত ব্যবহার মেট্রিক্স সংগ্রহ করার সময় এটি বিশেষভাবে উপযোগী।
মৌলিক ব্যবহার
রিয়েল-টাইমে GPU ব্যবহার এবং মেমরি ব্যবহার পর্যবেক্ষণের জন্য আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
এই কমান্ডটি GPU ব্যবহার, মেমরি ব্যবহার এবং উপলব্ধ মেমরি সহ বিশদ তথ্য পুনরুদ্ধার করে। -l অপশনটি আপনাকে সেকেন্ডে রিফ্রেশ ইন্টারভ্যাল সেট করতে দেয়।
প্রদর্শন ফরম্যাট এবং ফাইল আউটপুট
ডিফল্টভাবে, ফলাফলগুলি টেবিল ফরম্যাটে প্রদর্শিত হয়, তবে আপনি সহজে প্রক্রিয়াকরণের জন্য সেগুলি CSV হিসেবে আউটপুট করতে পারেন। যদি তথ্যটি একটি ফাইলে সংরক্ষণ করতে চান, তবে -f অপশন ব্যবহার করে গন্তব্য নির্দিষ্ট করুন।
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
এটি আপনাকে GPU ব্যবহার লগ সংরক্ষণ করে পরে বিশ্লেষণ করার সুযোগ দেয়।
৩. nvidia-smi দিয়ে প্রক্রিয়া তথ্য সংগ্রহ করা
nvidia-smi আপনাকে বর্তমানে GPU ব্যবহারকারী প্রক্রিয়াগুলির তথ্যও সংগ্রহ করতে সক্ষম করে। এটি প্রতিটি প্রক্রিয়া কতটুকু GPU সম্পদ ব্যবহার করছে তা চিহ্নিত করতে সহায়তা করে।
প্রক্রিয়া তথ্য প্রাপ্তি
GPU ব্যবহারকারী প্রক্রিয়াগুলির PID এবং মেমরি ব্যবহার দেখতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
এই কমান্ডটি সক্রিয় GPU প্রক্রিয়ার তালিকা প্রদান করে এবং প্রতিটি প্রক্রিয়ার মেমরি ব্যবহার প্রদর্শন করে।
nvidia-smi pmon সাবকমান্ড
nvidia-smi টুলে একটি pmon সাবকমান্ডও রয়েছে, যা বিস্তারিত GPU প্রক্রিয়া পর্যবেক্ষণ প্রদান করে।
nvidia-smi pmon --delay 10 -s u -o DT
এটি নির্দিষ্ট ইন্টারভ্যালে GPU প্রক্রিয়া তথ্য প্রদর্শন করে। --delay অপশনটি সেকেন্ডে রিফ্রেশ ইন্টারভ্যাল নির্ধারণ করে, এবং আপনি কোন তথ্য প্রদর্শন করবেন তা নির্বাচন করতে পারেন।
৪. NVIDIA ড্রাইভার ইনস্টল এবং যাচাই করা
উবুন্টুতে NVIDIA GPU ব্যবহার করতে সঠিক NVIDIA ড্রাইভার ইনস্টল করা আবশ্যক। নিচে ইনস্টলেশন এবং যাচাইয়ের ধাপগুলি দেওয়া হল।
ড্রাইভার ইনস্টলেশন
প্রথমে, নিম্নলিখিত কমান্ড ব্যবহার করে আপনার সিস্টেমের জন্য উপযুক্ত NVIDIA ড্রাইভার ইনস্টল করুন:
sudo apt install nvidia-driver-510
ইনস্টলেশন সম্পন্ন হলে, আপনার সিস্টেম রিস্টার্ট করুন।
ইনস্টলেশন যাচাই করা
রিবুটের পরে, ড্রাইভার সঠিকভাবে ইনস্টল হয়েছে কিনা নিশ্চিত করতে নিম্নলিখিত কমান্ডটি চালান:
nvidia-smi
যদি ড্রাইভার সংস্করণ এবং CUDA সংস্করণ প্রদর্শিত হয়, তবে ইনস্টলেশন সফল হয়েছে।

৫. TensorFlow দিয়ে GPU কার্যক্রম যাচাই করা
আপনি TensorFlow—একটি মেশিন লার্নিং ফ্রেমওয়ার্ক—ব্যবহার করে GPU কার্যকারিতা পরীক্ষা করে যাচাই করতে পারেন।
Anaconda ইনস্টল করা
প্রথমে, Anaconda ইনস্টল করুন এবং আপনার পরিবেশ সেটআপ করুন:
bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1
TensorFlow-এ GPU স্বীকৃতি যাচাই করা
এরপর, TensorFlow GPU স্বীকৃতি করে কিনা যাচাই করুন:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
যদি তালিকায় GPU ডিভাইস প্রদর্শিত হয়, তবে TensorFlow সফলভাবে GPU সনাক্ত করেছে।
৬. GPU পর্যবেক্ষণ এবং লগিং
nvidia-smi রিয়েল-টাইম GPU পর্যবেক্ষণ এবং লগ রেকর্ডিং সক্ষম করে। এটি সময়ের সাথে GPU ব্যবহার ট্র্যাক করতে এবং পারফরম্যান্স অপ্টিমাইজ করতে সহায়তা করে।
নিয়মিত পর্যবেক্ষণ
নিয়মিত পর্যবেক্ষণ সেট করতে, আপডেট ইন্টারভ্যাল নির্ধারণের জন্য -l অপশন ব্যবহার করুন, এবং ঐচ্ছিকভাবে ডেটা একটি ফাইলে লগ করুন:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
পাইথন বাইন্ডিংসের মাধ্যমে প্রোগ্রামেবল নিয়ন্ত্রণ
nvidia-smi পাইথন বাইন্ডিংস (nvidia-ml-py) প্রদান করে যা আপনাকে প্রোগ্রাম্যাটিকভাবে GPU তথ্য পুনরুদ্ধার করতে দেয়। এটি পাইথন স্ক্রিপ্ট থেকে আরও কাস্টমাইজড পর্যবেক্ষণ এবং নিয়ন্ত্রণ সম্ভব করে।
7. উপসংহার
nvidia-smi উবুন্টুতে NVIDIA GPU ব্যবহার পরীক্ষা এবং পরিচালনার জন্য একটি শক্তিশালী টুল। এই প্রবন্ধে মৌলিক ব্যবহার, প্রক্রিয়া পর্যবেক্ষণ, ড্রাইভার ইনস্টলেশন এবং TensorFlow GPU যাচাই সম্পর্কে ব্যাখ্যা করা হয়েছে। GPU পারফরম্যান্স সর্বোচ্চ করতে এবং আপনার সিস্টেমকে অপ্টিমাইজ করতে এই প্রযুক্তিগুলি ব্যবহার করুন।

