2016-02-10 27 views
5

Nơi tôi làm việc, chúng tôi thực hiện rất nhiều tính toán số và chúng tôi đang cân nhắc mua máy trạm với thẻ video NVIDIA vì CUDA (để làm việc với TensorFlow và Theano).Sử dụng GPU làm thẻ video và GPGPU

Câu hỏi của tôi là: các máy tính này có đi kèm với một card màn hình khác để xử lý màn hình và giải phóng NVIDIA cho GPGPU không?

Tôi sẽ đánh giá cao nếu có ai biết dữ liệu cứng về cách sử dụng thẻ video để hiển thị và GPGPU cùng một lúc.

Trả lời

4

Theo kinh nghiệm của tôi, việc chia sẻ thẻ GPU giữa các tác vụ tính toán số và lái xe màn hình video là điều khó xử. Ví dụ, có bộ nhớ hạn chế có sẵn trên bất kỳ GPU nào, thường là yếu tố hạn chế về kích thước của một mô hình mà bạn có thể đào tạo. Trừ khi bạn đang chơi game, một GPU khá khiêm tốn có thể đủ để điều khiển video. Nhưng đối với công việc ML nghiêm túc, có thể bạn sẽ muốn có một thẻ hiệu suất cao. Ở nơi tôi làm việc (Google), chúng tôi thường đặt hai GPU vào các máy tính để bàn khi một máy tính được sử dụng để tính toán số.

+0

Cảm ơn bạn rất nhiều! - Một câu hỏi nữa: Tôi đã đọc ở đâu đó (tôi nghĩ rằng đó là tài liệu về Tensor Flow nhưng không thể tìm thấy nó) rằng màn hình có thể đóng băng trong giây lát khi đào tạo mô hình. Có phải vậy không? –

7

Đã trải qua điều này, tôi sẽ thêm hai xu của mình.

Rất hữu ích khi có thẻ chuyên dụng để tính toán, nhưng chắc chắn không cần thiết.

Tôi đã sử dụng một máy trạm phát triển với một GPU cao cấp duy nhất cho cả màn hình và tính toán. Tôi cũng đã sử dụng máy trạm với nhiều GPU, cũng như các máy chủ tính toán không đầu.

Trải nghiệm của tôi là tính toán trên GPU hiển thị là tốt miễn là nhu cầu trên màn hình là điển hình cho kỹ nghệ phần mềm. Trong một thiết lập Linux với một vài màn hình, trình duyệt web, trình soạn thảo văn bản, vv, tôi sử dụng khoảng 200MB để hiển thị trong số 6GB của thẻ - vì vậy chỉ có khoảng 3% chi phí. Bạn có thể thấy màn hình hiển thị nói lắp một chút trong khi làm mới trang web hoặc một cái gì đó tương tự, nhưng nhu cầu thông lượng của màn hình rất nhỏ.

Một vấn đề kỹ thuật đáng lưu ý là trình điều khiển NVIDIA, phần mềm GPU hoặc hệ điều hành có thể hết thời gian chờ hoàn thành hạt nhân trên GPU hiển thị (chạy 'deviceQueryDrv' của NVIDIA để xem "giới hạn thời gian chạy trên nhân" của trình điều khiển cài đặt). Theo kinh nghiệm của tôi (trên Linux), với việc học máy, điều này chưa bao giờ là vấn đề vì thời gian chờ là vài giây và thậm chí với các hạt nhân tùy chỉnh, đồng bộ hóa trên các bộ xử lý đa chế độ hạn chế bạn có thể đưa vào một lần khởi chạy hạt nhân. Tôi hy vọng các hoạt động điển hình của các ops được nướng sẵn trong TensorFlow sẽ có hai hoặc nhiều đơn đặt hàng có độ lớn dưới giới hạn này.

Điều đó nói rằng, có một số lợi thế lớn của việc có nhiều thẻ có khả năng tính toán trong máy trạm (dù có được sử dụng để hiển thị) hay không. Tất nhiên có tiềm năng cho nhiều thông lượng hơn (nếu phần mềm của bạn có thể sử dụng nó). Tuy nhiên, lợi thế chính trong trải nghiệm của tôi là có thể chạy thử nghiệm lâu dài đồng thời phát triển các thử nghiệm mới. Bạn có thể bắt đầu với một thẻ và sau đó thêm một thẻ sau, nhưng đảm bảo bo mạch chủ của bạn có nhiều chỗ và nguồn điện của bạn có thể xử lý tải. Nếu bạn quyết định có hai thẻ, với một thẻ thấp cấp chuyên dụng để hiển thị, tôi đặc biệt khuyên bạn không nên sử dụng thẻ cấp thấp là thẻ có khả năng CUDA mà nó được chọn làm mặc định cho tính toán.

Hy vọng điều đó sẽ hữu ích.

+0

Cảm ơn bạn.May mắn thay, tôi nghĩ rằng các máy tính chúng tôi mua đã đi kèm với một chip đồ họa Intel inboard, vì vậy có lẽ vấn đề này sẽ không được nâng lên ở tất cả afterall. Dù sao thì, ông chủ lớn ở đây đang xem xét việc mua một máy chủ đơn lẻ với một nvidia rất mạnh mà mọi người sẽ chia sẻ lol. Có thể bối cảnh chuyển đổi từ việc có nhiều người sử dụng GPU và truyền dữ liệu liên quan đến việc chuyển dữ liệu tồi tệ hơn là chỉ đơn giản là mua nvidias rẻ hơn cho những nhân viên cần chúng? –

+1

@Ricardo Trình điều khiển NVIDIA đã trưởng thành và rất tốt trong chuyển đổi ngữ cảnh - không có rào cản cơ bản ở đây - nhưng việc chia sẻ bộ nhớ, băng thông và tính toán có nhược điểm bạn mong đợi - vì vậy tính khả thi của việc chia sẻ GPU phụ thuộc vào chi tiết về đơn đăng ký của bạn. Các mô hình đào tạo cho hiệu suất hiện đại có xu hướng đòi hỏi (ví dụ: nhiều GPU được sử dụng đầy đủ trong vài ngày để phân loại hình ảnh). Bạn có thể xem các thuật toán bạn muốn chạy và xem người khác chạy chúng trong bao lâu, và sau đó cũng xem xét các yêu cầu kiểm tra/gỡ lỗi/tối ưu hóa. –

Các vấn đề liên quan