Kết nối GPU vào Raspberry pi


15

Tôi muốn kết nối GPU GT640 với mô hình Raspberry pi B. Tôi biết không có kết nối trực tiếp và dữ liệu tranfer rất khác nhau nhưng. Có bất kỳ cơ hội để kết nối các thiết bị này để tận dụng sức mạnh xử lý GPU? không cần thiết phải có một giao tiếp thời gian thực, nhưng điều này có thể trong lý thuyết không?


Tôi đang dự định sử dụng MCS9990 (Bộ điều khiển máy chủ USB 2.0 sang 4 cổng) để tạo một bảng kết nối GT640 PCI 3.0 16x với RPi USB 2.0. Tôi nghĩ khó khăn duy nhất là trình điều khiển con chip đó nhưng tôi có thời gian để phát triển nó. Nếu tôi thực hiện điều này, còn phần mềm khác, (trình điều khiển CUDA và GForce) thì chúng hoạt động như thế nào trên trình điều khiển bảng?
Arturo Veras

Tôi tìm thấy một giao diện sẽ thực hiện công việc. Đó là Bộ điều khiển ngoại vi PCI Express Gen 2 sang USB 3.0 . Nó có một cổng PCI Express Gen 2 x1 và một cổng máy khách SuperSpeed ​​USB 3.0. Tôi biết rằng USB 3.0 cũng hỗ trợ USB 2.0: + USB Hi-Speed ​​( USB 2.0 ) 480 Mbit / s + USB SuperSpeed ​​( USB 3.0 ) 5 Gbit / s + PCI Express ngoài 2.0 × 1 4 Gbit / s + PCI Express 3.0 bên ngoài × 16 32Gbit / s Tôi sẽ bị giới hạn bởi cổng pi Raspberry USB 2.0.
Arturo Veras

3
Sau đó, tôi nghiêm túc đề nghị bạn tránh cố gắng làm điều này
nagyben

Trình điều khiển lập trình là rất khó, đặc biệt khi đó là điều chưa từng được thực hiện trước đây
nagyben

Bộ xử lý chính của Raspberry Pi đã là GPU dựa trên VideoCore IV.
Erkin Alp Güney

Câu trả lời:


3

gần như không thể

Thay vào đó, bạn nên thử sử dụng hộp PC giá rẻ, vì có nguy cơ rất cao khi chiên GT640 và / hoặc Raspberry Pi của bạn.


Tại sao almos là áp đặt? Tôi đã suy nghĩ để sử dụng một bộ chuyển đổi PCIe sang usb như MCS9901CV-CC, tôi muốn thử cách nghịch đảo.
Arturo Veras

@ArturoVeras vì các thiết bị này không được kết nối và / hoặc sử dụng cùng nhau. hãy để một mình các trình điều khiển và phần mềm bị thiếu mà bạn phải viết, hiệu suất sẽ rất tệ, làm cho toàn bộ nỗ lực.
lenik

Có lẽ tôi đang thiếu điểm. Sửa lỗi cho tôi nếu tôi sai, ý tưởng là kết nối quả mâm xôi, một số cách, với GPU. Sau này chúng ta có thể thực hiện một cụm với điều này và có sức mạnh xử lý nhiều hơn. Ý tưởng là không tận dụng tốc độ truyền PCIe thay vì hàng ngàn lõi GPU. Vì vậy, nếu tôi có thể giao tiếp, sử dụng chip GPIO oa như MCS9901CV, sẽ rất tuyệt vì điều đó có nghĩa là tôi có thể thêm nhiều Raspberry pi và tạo một cụm và voila!.
Arturo Veras

1
@ArturoVeras bạn đã quản lý để kết nối một số bộ xử lý đơn giản hơn với RaspPi GPIO và giao tiếp hợp lý với nó chưa? Tôi đồng ý với lenik, đó là nhiệm vụ cực kỳ khó khăn (trước tiên hãy nghiên cứu kiến ​​trúc PCIe và giao tiếp GPU) và lợi ích là rất nhỏ. Có thể là một bài tập trước tiên hãy cố gắng giao tiếp với GPU được kết nối trực tiếp với bus PCIe trong PC của bạn.
ssavec

Không, tôi không có. Tôi đang nghiên cứu giao thức PCIe và xem liệu tôi có thể giao tiếp với Raspberry pi GPIO không. Bạn nghĩ gì khi sử dụng PE4L-PM060A ?, Là một bộ chuyển đổi PCIe sang mPCIe. Tôi nhận thấy rằng giao diện PCI 1x chỉ làm giảm băng thông PC1 16x, tôi không bận tâm điều đó. Những thứ này có thể giúp tôi vì tôi có thể sử dụng một bảng phát triển có giao diện mPCIe.
Arturo Veras

3

Có thể là có thể, nhưng xin lưu ý rằng bạn sẽ cần phải viết trình điều khiển của riêng mình và giải quyết các vấn đề về nguồn điện, vì tôi nghi ngờ RasPi sẽ có thể tự cung cấp một GPU PCI / PCI-E đầy đủ. Cũng xin lưu ý rằng CPU cũng sẽ ảnh hưởng đến sức mạnh của GPU, vì vậy đây có thể là một ý tưởng để nghiên cứu trước khi bạn thử. <--- Thêm vào đó, bạn có thể sử dụng cáp riser được cấp nguồn 1x đến 16x thường được sử dụng trong các giàn khai thác gpu. Ngoài ra còn có các loại cáp riser được cấp nguồn khác sử dụng thẻ bộ điều hợp cho USB.


Đó là mối quan tâm của tôi ngay bây giờ, các vấn đề năng lượng. Các vấn đề mà tôi có trong đầu là gì nếu tôi muốn sử dụng nguồn điện bên ngoài cho GPU?
Arturo Veras

1

Bạn có thể sử dụng startKIT có khe cắm thẻ PCI Express x1 mà ​​bạn có thể sử dụng để giao tiếp với GPU phù hợp (bạn có thể phải viết trình điều khiển của riêng mình) và sau đó có thể giao tiếp với Pi qua tiêu đề GPIO.

Vì vậy, tóm lại: có, bạn có thể, tất cả các phần cứng để làm như vậy tồn tại và có sẵn, tất cả những gì bạn phải làm là viết logic keo, nhưng đừng hy vọng nó sẽ dễ dàng.


Có lẽ kết nối GPIO với PCIe với MCS9901?
Arturo Veras

StartKIT chỉ thêm giao diện phần cứng giữa PCIe và de RPi? Các trình điều khiển mà bạn đề cập phải được viết trong startKit hoặc trong RPi? Khó khăn trong việc lập trình trình điều khiển là gì?
Arturo Veras

Rất khó có lẽ. Tôi thực sự không chắc điều này khả thi đến mức nào, nhưng trên lý thuyết với startKIT, bạn sẽ có phần cứng và môi trường cần thiết để làm những gì bạn muốn.

1
Bạn nghĩ gì về USB 2380 . Nó dường như là giải pháp, vấn đề duy nhất là GT640 là 16x PCIe và USB 2380 dành cho 1x PCIe, nhưng tôi nghĩ đây không phải là vấn đề.
Arturo Veras

@ArturoVeras Khó có thể nói rằng không có quyền truy cập vào chi tiết sản phẩm, nhưng có vẻ như điều đó là có thể, vẫn vậy, hy vọng nó sẽ khó khăn. Ngoài ra, bạn có thể sẽ không thể sử dụng toàn bộ sức mạnh của thẻ khi dù sao nó cũng có Pi làm máy chủ.

1

Vì vậy, để đánh thức sợi chỉ chết, tôi sẽ không thực hiện nó trên Raspberry Pi. Tôi muốn giới thiệu ít nhất Pi 3 với bộ chuyển đổi mPCIe sang PCIe được thiết kế cho GPU máy tính để bàn và được cung cấp bởi một nguồn cung cấp năng lượng chuyên dụng. Ngoài ra, bạn cần đảm bảo rằng phiên bản Linux có hỗ trợ trình điều khiển cho nó; nếu không có trình điều khiển, ai đó phải viết chúng và có thể mất vài tháng với tài sản và mã nguồn phù hợp. Có thể làm theo cách này 100%, nhưng bạn có thể sẽ phải đủ tài năng để viết nó cho cộng đồng nếu nó chưa được thực hiện.


Tất nhiên, bất kỳ trình điều khiển Linux nào mà NVidia phát hành sẽ được nhắm mục tiêu vào phần cứng giống như PC - Tôi không thể tin rằng OP sẽ có thể lấy thông lượng dữ liệu để làm bất cứ điều gì hữu ích, thay vì FPS (khung hình mỗi giây) giả sử anh ta có thể nhận được bất kỳ đầu ra hiển thị hữu ích nào, tôi cá là nó sẽ được đo bằng FPM hoặc PFH! 8-)
SlySven

Ngoài ra, NVidia chỉ phân phối các nhị phân đóng chứ không phải trình điều khiển mã nguồn mở (giống như cách chúng tôi chỉ nhận các đốm nhị phân được sử dụng trên RPi để vận hành GPU), điều này khiến việc phát triển trình điều khiển khó hơn nhiều, nếu không thể ... IMHO .
SlySven

Điều này cũng đúng và nên được tính đến. Bất kỳ mã nào bạn có thể tìm và kỹ sư đảo ngược cho pi 3 nên được trân trọng. Có khả năng nó sẽ đưa một nhóm tin tặc đạo đức hoặc một vài công ty đến với nhau để tạo ra một giải pháp. Trong cả hai ý nghĩa, nó sẽ là thú vị và ranh giới hài hước để xem.
Robschwab1

0

Một vấn đề khác mà bạn gặp phải là CPU sẽ làm tắc nghẽn card đồ họa vì nó có tốc độ chỉ 700 MHz. Tôi sẽ thử điều này với GT 210 rẻ hơn nhiều (Bạn có thể tìm thấy với giá $ 20 - $ 30). Về trình điều khiển của bạn, bạn có thể tìm thấy trình điều khiển Nvidia nguồn mở và biên dịch nó trên ARM.


Vấn đề cụ thể với điều này là gì? Tôi chỉ cần một số tính toán từ GPU Tôi không cần ứng dụng thời gian thực.
Arturo Veras

Thẻ này thì sao? Máy tính bảng đơn SBC-A510 . Nó có CPU 800 MHz và mang theo khe cắm PCIe 1x.
Arturo Veras

0

Chỉ cần va vào một chủ đề cũ. Điều đó gần như không thể, nhưng lý do chính là chủ nghĩa tư bản và quan liêu, không viết trình điều khiển.

Chắc chắn, viết trình điều khiển là rất khó khăn, nhưng làm việc với một đội sử thi và nó sẽ được thực hiện trước khi mặt trời mọc.

Thậm chí khó hơn là có được quyền truy cập vào các mã nguồn hiện có cho toàn bộ thẻ video và thậm chí có thể là mã nguồn cho BCM2835, BCM2836 hoặc BCM2837 (lần lượt là Pi 1, 2 và 3). Bạn cần những thứ đó để tìm hiểu cách các thẻ hoạt động ở bên trong và tìm cách giao tiếp với nó với nhau.

Bạn sẽ phải là một OEM để thậm chí có cơ hội nhận được mã nguồn. Ngay cả những nền tảng Raspberry Pi bản thân đã gặp khó khăn với những người và có giải quyết trên một blob trước biên soạn để giao tiếp với bộ vi xử lý và GPU.

Yêu cầu về năng lượng hoàn toàn không phải là một vấn đề vì vào lúc bạn cầu xin [tên công ty], bạn đã hiểu ra rồi. Có lẽ là một PC PSU được kết nối với card màn hình và cũng cấp nguồn cho Pi thông qua đường ray 5V của nó.


0

MCS9990 là cầu nối PCIe với USB / ISA, được thiết kế để cung cấp thêm cổng USB / ISA / GPIO trên hệ thống có giao diện PCIe. Không thể sử dụng nó để kết nối thiết bị PCIe với hệ thống chỉ có USB, chẳng hạn như RPi. Vì vậy, cách tiếp cận này là cam chịu từ đầu.


-1

Vấn đề duy nhất của bạn sẽ là trình điều khiển. Sẽ thật tuyệt khi có GPU Nvidia hoạt động trên Pi, nhưng điều này gần như khó như xây dựng GPU của riêng bạn từ đầu.

Mọi người đã đúng, phần cứng không phải là không thể, nhưng nó sẽ sơ sài. Bạn hoàn toàn sẽ cần trình điều khiển, tuy nhiên. Ngay cả khi bạn có thể tự viết, chúng sẽ không được tối ưu hóa để sử dụng tất cả tốc độ và tính năng trên GPU.

Tôi muốn thử điều này với một Nvidia GForce cũ, nhưng tôi là một lập trình viên tệ hại không có kinh nghiệm hack phần cứng.

Tôi cho rằng đó là một cú sút xa, nhưng tôi đã gửi email cho NVidia ngay sau khi RTX được phát hành, và hỏi liệu họ có biên dịch trình điều khiển cho một vài GPU Pre-2010 cho Pi và làm cho chúng có sẵn để tải xuống và sửa lại, hoặc phát hành mã nguồn để mọi người tự biên dịch. Rõ ràng họ đã nói "không."

Vì vậy, đây là điều, chúng tôi có GPU bên ngoài cho máy tính xách tay ( không tính chi phí ) và Wi-Fi trong Pi 3B + mới được cho là nhanh, tại sao không xem liệu điều đó có thể hoạt động không?


Tôi không chắc chắn nếu điều này cung cấp một câu trả lời, hoặc là một gợi ý, mặc dù là một câu hỏi hữu ích.
Greenonline

@ Greenonline Điều này được dự định là một gợi ý và một aswer (Đọc lại câu cuối cùng)
lockheed silverman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.