GPU Hızlandırma İçin Gerekli Çekirdek Modülleri Yüklenmiyor

Katılım
6 Temmuz 2018
Mesajlar
13.383
Makaleler
20
Çözümler
142
Yer
Nordschleife
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Herkese selamlar. OpenCL ile ilgili bir sorunum olmuştu, ekran kartımın(Nvidia GT 620M) OpenCL desteğini uygulamalarda kullanamıyordum. Bir açık buldum sanırsam. Bunu da düzeltirsem sanırsam artık kullanabileceğim.

Darktable isimli açık kaynaklı fotoğraf düzenleme yazılımının yönergelerinde bulduğum bir paragraf bana fikir verdi:

  • The vendor specific OpenCL implementation comes as a library libnvidia-opencl.so.1 (which in our case is a symbolic link to libnvidia-opencl.so.331.89).
  • libnvidia-opencl.so.1 needs to talk to the vendor specific kernel modules nvidia and nvidia_uvm via device special files /dev/nvidia0, /dev/nvidiactl, and /dev/nvidia-uvm.

Paragrafa göre "/dev/nvidia0, /dev/nvidiactl, ve /dev/nvidia-uvm." dosyalarının "libnvidia-opencl.so.1" ile iletişim kurması gerekiyor.

İletişim kurması gereken kütüphane ve dosyalar olması gereken dizinlerde olmasına rağmen,
[CODE title="cruslan@Crusland:~$ ls -l /dev/nvidia*"]crw-rw-rw- 1 root root 195, 0 Nis 1 20:35 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Nis 1 20:35 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254 Nis 1 20:35 /dev/nvidia-modeset
[/CODE]

yüklü modüller kısmında gözükmüyor bu paketler:
[CODE title="lsmod olması gereken"]nvidia
nvidia_uvm[/CODE]

[CODE title="lsmod olan"]Module Size Used by
ccm 20480 6
vboxnetadp 28672 0
vboxnetflt 28672 0
vboxdrv 524288 2 vboxnetadp,vboxnetflt
rfcomm 81920 16
cmac 16384 3
algif_hash 16384 1
algif_skcipher 16384 1
af_alg 28672 6 algif_hash,algif_skcipher
bnep 24576 2
ath3k 24576 0
snd_hda_codec_hdmi 61440 1
snd_hda_codec_realtek 139264 1
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek
ledtrig_audio 16384 1 snd_hda_codec_generic
snd_hda_intel 53248 3
snd_intel_dspcfg 28672 1 snd_hda_intel
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
uvcvideo 102400 0
snd_hda_codec 147456 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
btusb 61440 0
ath9k 151552 0
videobuf2_vmalloc 20480 1 uvcvideo
btrtl 24576 1 btusb
snd_hda_core 94208 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
btbcm 16384 1 btusb
intel_rapl_msr 20480 0
btintel 32768 1 btusb
snd_hwdep 16384 1 snd_hda_codec
videobuf2_memops 20480 1 videobuf2_vmalloc
videobuf2_v4l2 32768 1 uvcvideo
bluetooth 651264 42 btrtl,btintel,btbcm,bnep,ath3k,btusb,rfcomm
videobuf2_common 61440 4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
mei_hdcp 24576 0
snd_pcm 114688 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
ath9k_common 36864 1 ath9k
videodev 249856 3 videobuf2_v4l2,uvcvideo,videobuf2_common
ath9k_hw 507904 2 ath9k_common,ath9k
ecdh_generic 16384 2 bluetooth
ecc 36864 1 ecdh_generic
mc 57344 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
intel_rapl_common 24576 1 intel_rapl_msr
ath 36864 3 ath9k_common,ath9k,ath9k_hw
x86_pkg_temp_thermal 20480 0
snd_seq_midi 20480 0
intel_powerclamp 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
coretemp 20480 0
mac80211 1028096 1 ath9k
kvm_intel 303104 0
samsung_laptop 20480 0
kvm 864256 1 kvm_intel
snd_rawmidi 36864 1 snd_seq_midi
rapl 20480 0
snd_seq 73728 2 snd_seq_midi,snd_seq_midi_event
intel_cstate 20480 0
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_timer 40960 2 snd_seq,snd_pcm
joydev 28672 0
input_leds 16384 0
serio_raw 20480 0
mei_me 40960 1
snd 94208 17 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
nvidia_drm 45056 3
mei 131072 3 mei_hdcp,mei_me
nvidia_modeset 1056768 5 nvidia_drm
cfg80211 888832 4 ath9k_common,ath9k,ath,mac80211
at24 24576 0
soundcore 16384 1 snd
libarc4 16384 1 mac80211
mac_hid 16384 0
nvidia 15851520 303 nvidia_modeset
sch_fq_codel 20480 2
ipmi_devintf 20480 0
ipmi_msghandler 114688 2 ipmi_devintf,nvidia
msr 16384 0
parport_pc 45056 0
ppdev 24576 0
lp 20480 0
parport 65536 3 parport_pc,lp,ppdev
ip_tables 32768 0
x_tables 49152 1 ip_tables
autofs4 45056 2
btrfs 1388544 0
blake2b_generic 20480 0
xor 24576 1 btrfs
zstd_compress 176128 1 btrfs
raid6_pq 114688 1 btrfs
libcrc32c 16384 1 btrfs
dm_mirror 24576 0
dm_region_hash 24576 1 dm_mirror
dm_log 20480 2 dm_region_hash,dm_mirror
i915 2392064 4
i2c_algo_bit 16384 1 i915
drm_kms_helper 253952 2 nvidia_drm,i915
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
crct10dif_pclmul 16384 1
cec 53248 2 drm_kms_helper,i915
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
rc_core 61440 1 cec
aesni_intel 376832 8
ahci 40960 1
crypto_simd 16384 1 aesni_intel
drm 557056 7 drm_kms_helper,nvidia_drm,i915
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
r8169 77824 0
psmouse 155648 0
i2c_i801 36864 0
i2c_smbus 20480 1 i2c_i801
libahci 36864 1 ahci
lpc_ich 24576 0
realtek 32768 1
video 53248 2 i915,samsung_laptop
wmi 32768 0
[/CODE]

Yani gerekli çekirdek modülleri yüklenmiyor. Bu "nvidia" ve "nvidia_uvm" modüllerini nasıl yükleyebilirim veya yüklenmesini sağlayabilirim?
 
Bu "nvidia" ve "nvidia_uvm" modüllerini nasıl yükleyebilirim veya yüklenmesini sağlayabilirim?

nvidia modülü yüklü görünüyor, nvidia-uvm nvidia-340 ve öncesinde kullanılıyordu. Sendeki aygıt Nvidia-390 kullandığı için farklı modüller vardır.
crw-rw-rw- 1 root root 195, 254 Nis 1 20:35 /dev/nvidia-modeset

nvidia-uvm yerine nvidia-modeset modülüne odaklanmalısın. lsmod çıktısında nvidia_modeset olarak görünüyor, nvidia-modeset ile aynı modül bu.
 
nvidia modülü yüklü görünüyor, nvidia-uvm nvidia-340 ve öncesinde kullanılıyordu. Sendeki aygıt Nvidia-390 kullandığı için farklı modüller vardır.


nvidia-uvm yerine nvidia-modeset modülüne odaklanmalısın. lsmod çıktısında nvidia_modeset olarak görünüyor, nvidia-modeset ile aynı modül bu.
"nvidia-modeset" in mi yüklü olması gerekiyor initramfs'de?
 
Yüklü zaten, lsmod'da biraz farklı görünüyor sadece. nvidia_modeset
Yani sorunum bundan kaynaklı değil mi? O zaman başka yerlere odaklanmalıyım.

Nvidia'nın dökümanlarında bir şey buldum:

  • Two OpenCL libraries (/usr/lib/libOpenCL.so.1.0.0, /usr/lib/libnvidia-opencl.so.358.09); the former is a vendor-independent Installable Client Driver (ICD) loader, and the latter is the NVIDIA Vendor ICD. A config file /etc/OpenCL/vendors/nvidia.icd is also installed, to advertise the NVIDIA Vendor ICD to the ICD Loader.

Bahsedilen "nvidia.icd" dosyasında "libnvidia-opencl.so.1" tanıtılıyor sadece. "libOpenCL.so.1.0.0" yok. Eklesem sorunum düzelir mi sizce?
 
Son düzenleme:
Şunların çıktısını da paylaş.

Kod:
locate libnvidia-opencl
readlink -f $(locate libnvidia-opencl.so.1)
 
Şunların çıktısını da paylaş.

Kod:
locate libnvidia-opencl
readlink -f $(locate libnvidia-opencl.so.1)
[CODE title="locate libnvidia-opencl"]/home/cruslan/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-XPTOJ1/usr/lib/pressure-vessel/overrides/lib/i386-linux-gnu/libnvidia-opencl.so.1
/home/cruslan/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier/var/tmp-XPTOJ1/usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147
/usr/lib/i386-linux-gnu/libnvidia-opencl.so.1
/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147[/CODE]

[CODE title="readlink -f $(locate libnvidia-opencl.so.1)"]/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-28_17-50-29/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-29_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.144
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-30_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/timeshift/snapshots/2022-03-31_22-00-01/localhost/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147
/usr/lib/i386-linux-gnu/libnvidia-opencl.so.390.147
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.390.147
[/CODE]

Elle "nvidia.icd" içine "libOpenCL.so" disizini ekledim. Yeniden başlattım ancak fayda etmedi.
 
Sembolik bağlantılar olması gerektiği gibi görünüyor. Cuda ilgili deneyimim olmadığı için daha fazla yardım edemiyorum.
 
Sembolik bağlantılar olması gerektiği gibi görünüyor. Cuda ilgili deneyimim olmadığı için daha fazla yardım edemiyorum.
Teşekkürler. Artık bakabileceğim kaynak ve yürütebileceğim fikir kalmadı. Biraz daha uğraşır ve bir şey bulursam yazarım artık.
 

Geri
Yukarı