PDA

View Full Version : خبر: دسترسی مستقیم به SIMD در Mono 2.0.2



Mehdi Asgari
چهارشنبه 15 آبان 1387, 16:38 عصر
Miguel De Icaza (http://en.wikipedia.org/wiki/Miguel_de_Icaza) ، خالق Mono در PDC امسال اعلام کرد که برای اولین بار در Mono 2.0.2 (که دسامبر امسال عرضه خواهد شد) می تونیم از طریق API های شی گرا به دستور العمل های SIMD (http://en.wikipedia.org/wiki/SIMD)دسترسی داشته باشیم. (و ادعا هم کرد (http://tirania.org/blog/archive/2008/Nov-03.html) که مونو اولین VM با همچین قابلیتی هست)
این قابلیت به درد کسانی می خوره که زیاد با عملیات برداری و آرایه ها سروکار دارن (مثل بازی ها ، برنامه های مالتی مدیا ، محاسبات 3 بعدی ، شبیه سازی فیزیک) و از طریق Mono.Simd (http://go-mono.com/docs/monodoc.ashx?tlink=0@N%3aMono.Simd) در دسترس خواهد بود. به عنوان مثال کد زیر که در حال حاضر بین 40 تا 60 دستور العمل CPU برای اجرا نیاز داره ، با این روش فقط به حدود 4 دستورالعمل SSE (http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions)نیاز خواهد داشت:


Vector4f Move (Vector4f [] pos, ref Vector4f delta)
{
for (int i = 0; i < pos.Length; i++)
pos += delta;
}

ارائۀ Miguel در PDC رو ببینید (http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC54.wmv)(یا بخونید (http://tirania.org/tmp/PC54-slides-as-pdf.pdf))