2010-08-09 32 views
6

Tôi nghĩ rằng tôi đã tìm thấy một số đá quý trong hệ điều hành iPhone (iOS 4).

Tôi nhận thấy rằng có các loại dữ liệu số nguyên 128 bit, 256 bit, 512 bit và 1024 bit, được cung cấp bởi Accelerate Framework. Ngoài ra, Apple còn triển khai các chương trình con số học cơ bản tuyến tính cơ bản (BLAS) của Apple, thực hiện các gói LAPACK (Linear Algebra PACKage) và xử lý tín hiệu số (DSP) của Apple.

Tôi rất vui vì BLAS và LAPACK là thư viện tốt nhất (và nổi tiếng nhất) theo như tôi biết. (Trong trường hợp nếu bạn chưa bao giờ nghe tên của họ, chỉ cần Google họ và bạn sẽ hiểu.) Họ cho phép bạn giải các phương trình tuyến tính đồng thời (tức là A x = b trong ký hiệu vector/ma trận), làm phép nhân nhanh ma trận , và hơn thế nữa.

Tôi khá chắc chắn rằng các thư viện có sẵn trên cả Mac dựa trên PowerPC và Intel. Tuy nhiên, khi tôi tra cứu tài liệu "Có gì mới trong iOS4" trong Xcode, nó nói rằng các kiểu dữ liệu "không được hỗ trợ trên kiến ​​trúc bất kỳ". Khi tôi so sánh số vecLib Reference for Mac OS XvecLlib Reference for iOS, tôi cũng thấy rằng các chức năng bị thiếu trong phiên bản iOS.

Câu hỏi của tôi là:
Có ai biên soạn bất kỳ chương trình sử dụng các thư viện (bignum là khu vực chính của tôi quan tâm) và chạy chúng thành công trên một thiết bị iPhone thật không? (Câu trả lời những người có thể chứng minh kinh nghiệm thực tế của họ trên librarie (s) được đánh giá cao hơn.)

Dưới đây là các liên kết đến các thư viện tham khảo:
Accelerate Framework (iOS Reference Library)
vecLib Reference (Mac OS X Reference Library)
vecLib Reference (iOS Reference Library)

Dưới đây là Câu hỏi thường gặp chính thức về BLAS và LAPACK:
BLAS FAQ
LAPACK FAQ

Bignum, Đại số tuyến tính và Xử lý tín hiệu số trên hệ điều hành iPhone (iOS 4)

+2

Đây không phải là câu trả lời (do đó nhận xét) nhưng tôi đã viết một wrapper Objective-C xung quanh công cụ bignum của OpenSSL.Tôi đã không cố gắng biên dịch nó cho iPhone, nhưng bạn đang chào đón để ngã ba nó và đóng góp: http://github.com/davedelong/CHMath –

+0

Xin chào, Dave. Cảm ơn bạn đã bỏ phiếu! '//' Tôi không biên dịch các thư viện BLAS và LAPACK trên iPhone, nhưng có vẻ như là ** APPLE ĐÃ THỰC HIỆN API CÙNG **, và đó là lý do tại sao tôi rất vui mừng. Vui lòng tham khảo các liên kết "Tham khảo thư viện" mà tôi đã đăng ở trên. '//' Tôi sử dụng OpenSSL rất nhiều và đoán rằng họ nên có các thư viện số nguyên khá tốt! Nhưng vì tôi không quen thuộc với lib/API, tôi không chắc liệu chúng có đủ dễ sử dụng hay không. Tôi sợ tấn công việc giữ trẻ trước khi sử dụng thư viện. '//' Tôi đã truy cập dự án GitHub của bạn và sẽ đi vào chi tiết hơn khi tôi có thời gian ~ –

+0

Câu hỏi này yêu cầu một cái gì đó tương tự (mặc dù không phải là chi tiết một hình thức): http://stackoverflow.com/questions/3398753/ sử dụng-the-apple-fft-and-accelerate-framework –

Trả lời

1

tôi đã thực hiện một số công việc trong OpenCV dựa trên dự án Yoshimasa Niwa ở đây:

http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en

mã hiện tại của ông builds sử dụng khuôn khổ Accelerate (xem bản vá tùy chỉnh).

+0

Cảm ơn bạn rất nhiều vì thông tin của bạn ^.^Nice ~ –

2

Mặc dù tôi chưa sử dụng Tăng tốc trong một ứng dụng vận chuyển, tôi đã nhận được rất nhiều ra khỏi của Apple WWDC 2010 session 202 - "The Accelerate khuôn khổ cho iPhone OS". Nếu bạn quan tâm đến khung này, tôi khuyên bạn nên xem video đó.

Mặc dù có thể sử dụng nhiều chức năng này trên iPhone nhưng không phải tất cả các chức năng này đã được chuyển sang. Chỉ có vDSP, BLAS và LAPACK có sẵn để sử dụng trong iOS 4.0, mặc dù có vẻ như những người khác có thể tham gia sớm.

Mặc dù được viết cho máy Mac, bài viết "Taking Advantage of the Accelerate Framework" cung cấp một giới thiệu tốt đẹp về khuôn khổ, ngoài các tài nguyên bạn liệt kê ở trên.

+0

Cảm ơn thông tin của bạn! Đó là lý do tại sao tôi đang bối rối! Có vẻ như Apple quảng cáo Khung tăng tốc rất nhiều, nhưng nó cũng có vẻ như nó bằng cách nào đó "đang được xây dựng". Tôi đã chạy một số thử nghiệm trên iPhone Simulator, và họ dường như không sao! Nhưng, như thường lệ, được rồi trên bộ mô phỏng (dựa trên Intel!) Không có nghĩa là không sao trên thiết bị thực tế. Vì tôi chưa trải qua quá trình CSR -> ID ứng dụng (chưa có thời gian để hiểu quy trình, và không sẵn sàng trải qua nó mà không hiểu), tôi đã hỏi câu hỏi này ở đây. Cảm ơn bạn đã liên kết! Tôi sẽ thăm họ khi tôi có thời gian. –

+3

Chỉ cần cập nhật, trong iOS5.0, Accelerate đã chọn vForce và vImage. –

+1

Để cập nhật lại, trong iOS 6.0, vMathLib đã được thêm vào. –

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