Tôi đang thực hiện một số tính toán thống kê. Tôi cần chúng nhanh, vì vậy tôi viết lại hầu hết nó để sử dụng SSE. Tôi khá ngạc nhiên với nó, vì vậy tôi đã tự hỏi cách tiếp cận đúng ở đây là:Lôgarit với SSE, hoặc chuyển sang FPU?
Theo hiểu biết của tôi, không có hàm log2 hoặc ln trong SSE, ít nhất là không lên đến 4.1, là phiên bản mới nhất được hỗ trợ bởi phần cứng tôi sử dụng.
Là nó tốt hơn để:
- chiết xuất 4 phao, và làm các phép tính FPU vào chúng để xác định enthropy - Tôi sẽ không cần phải tải bất kỳ của những giá trị trở lại vào thanh ghi SSE, chỉ tổng hợp họ lên khác nổi
- tìm thấy một chức năng cho SSE mà không log2
Những gì bạn cần loại phạm vi và độ chính xác cho log2 của bạn? –
Độ chính xác tương tự tôi nhận được từ FPU sẽ là mong muốn –
Dường như có một vài triển khai log2 SSE xung quanh, ví dụ: http://jrfonseca.blogspot.com/2008/09/fast-sse2-pow-tables-or-polynomials.html –