GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Menentukan Kartu GPU Yang Berjalan Di PCI Express 2.0 X16 &Yang Menggunakan X8?

Apakah ada cara untuk menentukan kecepatan koneksi PCI Express ke kartu tertentu? Saya memiliki tiga kartu yang terpasang:

dua Nvidia GTX 480 (satu di x16 &dan satu di x8)
satu Nvidia GTX 460 berjalan di x8

Apakah ada cara, baik dengan panggilan fungsi di C atau opsi ke lspci bahwa saya dapat menentukan kecepatan bus kartu grafis? Ketika saya hanya menggunakan salah satu kartu untuk program CUDA saya, saya ingin menggunakan kartu yang berjalan di x16.

Terima kasih!

Catatan:lspci -vvv dibuang

Untuk dua GTX 480s. Saya tidak melihat perbedaan yang berhubungan dengan kecepatan bus.

03:00.0 VGA compatible controller: nVidia Corporation Device 06c0 (rev a3)
        Subsystem: eVga.com. Corp. Device 1480
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at d4000000 (32-bit, non-prefetchable) [size=32M]
        Region 1: Memory at b0000000 (64-bit, prefetchable) [size=128M]
        Region 3: Memory at bc000000 (64-bit, prefetchable) [size=64M]
        Region 5: I/O ports at df00 [disabled] [size=128]
        [virtual] Expansion ROM at b8000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidia, nvidiafb, nouveau

03:00.1 Audio device: nVidia Corporation Device 0be5 (rev a1)
        Subsystem: eVga.com. Corp. Device 1480
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin B routed to IRQ 5
        Region 0: [virtual] Memory at d7ffc000 (32-bit, non-prefetchable) [disabled] [size=16K]
        Capabilities: <access denied>

04:00.0 VGA compatible controller: nVidia Corporation Device 06c0 (rev a3)
        Subsystem: eVga.com. Corp. Device 1480
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
        Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
        Region 3: Memory at cc000000 (64-bit, prefetchable) [size=64M]
        Region 5: I/O ports at cf00 [size=128]
        [virtual] Expansion ROM at c8000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidia, nvidiafb, nouveau

04:00.1 Audio device: nVidia Corporation Device 0be5 (rev a1)
        Subsystem: eVga.com. Corp. Device 1480
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin B routed to IRQ 5
        Region 0: Memory at dfffc000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>

Dan satu-satunya perbedaan yang saya lihat berhubungan secara khusus dengan pemetaan memori:

myComputer:~> diff card1 card2
3c3
< Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
---
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
7,11c7,11
< Region 0: Memory at d4000000 (32-bit, non-prefetchable) [size=32M]
< Region 1: Memory at b0000000 (64-bit, prefetchable) [size=128M]
< Region 3: Memory at bc000000 (64-bit, prefetchable) [size=64M]
< Region 5: I/O ports at df00 [disabled] [size=128]
< [virtual] Expansion ROM at b8000000 [disabled] [size=512K]
---
> Region 0: Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
> Region 1: Memory at c0000000 (64-bit, prefetchable) [size=128M]
> Region 3: Memory at cc000000 (64-bit, prefetchable) [size=64M]
> Region 5: I/O ports at cf00 [size=128]
> [virtual] Expansion ROM at c8000000 [disabled] [size=512K]
18c18
< Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
---
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
19a20
> Latency: 0, Cache Line Size: 64 bytes
21c22
< Region 0: [virtual] Memory at d7ffc000 (32-bit, non-prefetchable) [disabled] [size=16K]
---
> Region 0: Memory at dfffc000 (32-bit, non-prefetchable) [size=16K]

Jawaban yang Diterima:

Ini adalah pertanyaan yang sangat lama, tetapi cara melakukannya dengan benar dijalankan

sudo lspci -vv

Untuk setiap perangkat pci-e, ini mencantumkan LnkSta, yang memberi tahu Anda kecepatan sebagai _ GT/s, Lebar x1. Itu juga mencantumkan LnkCap, kapasitas tautan.

Terkait:Bagaimana Cara Menghapus File Dengan Cara yang Aman di Ubuntu?

2,5 GT/dtk =PCI-e gen 1, 5 GT/dtk =PCI-e gen 2, 8 GT/dtk =PCI-e gen 3, dan lebarnya adalah jumlah lajur.


Ubuntu
  1. Shell mana yang saya gunakan?

  2. Bagaimana Cara Menentukan Proses Yang Membuat File??

  3. Linux – Bagaimana Cara Mengidentifikasi Distro Linux Yang Sedang Berjalan??

  1. Ubuntu – Bagaimana Cara Mengetahui Sistem Driver X11 Yang Digunakan?

  2. Bagaimana Cara Memeriksa Shell Yang Saya Gunakan?

  3. Bagaimana Cara Menjalankan Glmark2 Pada GPU Khusus?

  1. Bagaimana Mengetahui Driver Dan Kartu Video Apa yang Saya Gunakan?

  2. Cara Menentukan Proses Yang Menulis ke Disk di Linux

  3. Cara mendapatkan alamat memori tertentu menggunakan C