2010-09-15 29 views
6

Tôi có một dự án CUDA. Nó bao gồm một số tệp .cpp chứa logic ứng dụng của tôi và một tệp .cu chứa nhiều hạt nhân cộng với hàm __host__ gọi chúng.nvcc -Xptxas –v cờ trình biên dịch không có hiệu lực

Bây giờ tôi muốn xác định số lượng sổ đăng ký được sử dụng bởi hạt nhân của tôi (s). Cuộc gọi trình biên dịch bình thường của tôi trông giống như sau:

nvcc -arch compute_20 -link src/kernel.cu obj/..obj obj/..obj .. -o bin/..exe -l glew32 ...

Việc thêm cờ trình biên dịch "-Xptxas –v" vào cuộc gọi này không may là không có hiệu lực. Trình biên dịch vẫn tạo ra kết quả văn bản giống như trước đây. Biên dịch .exe cũng hoạt động theo cách tương tự như trước đây với một ngoại lệ: Tốc độ khung hình của tôi nhảy lên 1800fps, tăng từ 80fps.

Trả lời

-1

Không chính xác những gì bạn đang tìm kiếm, nhưng bạn có thể sử dụng các hồ sơ hình ảnh CUDA vận chuyển với các sdk nvidia máy tính gpu. Bên cạnh nhiều thông tin hữu ích khác, nó cho thấy số lượng thanh ghi được sử dụng bởi mỗi hạt nhân trong ứng dụng của bạn.

+0

điều này không thể chính xác vì nó không trả lời câu hỏi .. nếu bạn chỉ muốn một cách để đếm số đăng ký, sau đó thay đổi câu hỏi. – jmilloy

+0

@jimilloy "Bây giờ tôi muốn xác định số lượng sổ đăng ký được sử dụng bởi hạt nhân của tôi (s)" –

2

khi bạn biên dịch

nvcc --ptxas-options=-v

+0

cũng không hoạt động. Tôi đã thử tất cả các ký hiệu khác nhau cho lá cờ đó có thể được tìm thấy trên internet. –

+0

@Dav thử xóa tùy chọn liên kết và biên dịch chỉ – Anycorn

+0

cá chép Trong trường hợp này trình biên dịch than phiền về các biểu tượng bên ngoài không xác định. –

8

tôi đã cùng một vấn đề, đây là giải pháp của tôi:

  1. Compile * file cu vào thiết bị chỉ * tập tin PTX, điều này sẽ loại bỏ đang chủ

    nvcc -ptx *.cu

  2. Compile * tệp ptx:

    ptxas -v *.ptx

Bước thứ hai sẽ cho bạn biết số lượng sổ đăng ký đã sử dụng bằng hạt nhân và lượng bộ nhớ dùng chung.

+0

+1: tuyệt vời - cảm ơn - mà làm việc cho tôi! –

1

Bạn có thể muốn ctrl tùy chọn tiết dịch mặc định của bạn.

Ví dụ: VStudio goto: Công cụ-> Tùy chọn-> Dự ánAndSolutions-> BuildAndRun rồi đặt kết xuất độ dài thành Bình thường.

1

Khi sử dụng "-Xptxas -v", "-arch" cùng nhau, chúng tôi không thể nhận thông tin chi tiết (đăng ký num, v.v ...). Nếu chúng ta muốn xem chi tiết mà không mất cơ hội gán kiến ​​trúc GPU (-arch, -code) phía trước, chúng ta có thể thực hiện các bước sau: nvcc -arch compute_XX *.cu -keep rồi ptxas -v *.ptx. Nhưng chúng tôi sẽ thu được nhiều tệp xử lý. Chắc chắn, câu trả lời của kogut là quan trọng.

2

Chuyển đổi compute_20 thành sm_20 trong cuộc gọi trình biên dịch của bạn. Điều đó sẽ khắc phục nó.

+0

Đây là câu trả lời đúng thực tế. Nó hoạt động. – markhor

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