بهبود کارایی توابع چندرسانه‌ای با استفاده از برنامه‌نویسی SIMD

نوع مقاله : مقاله پژوهشی

نویسندگان

1 دانشیار گروه مهندسی کامپیوتر، دانشکده فنی، دانشگاه گیلان، رشت، ایران

2 دانشجوی کارشناسی ارشد گروه مهندسی کامپیوتر، دانشکده فنی، دانشگاه گیلان، رشت، ایران

چکیده

با پیشرفت فنّاوری و تولید داده‌های چندرسانه‌ای با کیفیت، پردازش برنامه‌های مبتنی بر داده‌های چندرسانه‌ای به‌عنوان یک امر مهم تلقی می‌شود. الگوریتم‌های این حوزه پردازش‌های زیادی را بر روی داده‌های حجیم چندرسانه‌ای اعمال می‌کنند. از این رو، عملیات چندرسانه‌ای بسیار زمانبر است و بهبود کارایی آن‌ها یک چالش بزرگ در توسعه برنامه‌های چندرسانه‌ای به حساب می‌آید. یکی از فنّاوری‌هایی که در زمینه بهبود کارایی الگوریتم‌ها و توابع چندرسانه‌ای مورد استفاده قرار می‌گیرد، فنّاوری یک دستورالعمل و چند داده (SIMD) است که می‌تواند یک عمل را بر روی تعدادی داده در ثبّات‌‌های پردازنده به صورت برداری و همزمان انجام دهد. در این مقاله مروری مختصر بر مفاهیم چندرسانه‌ای، فنّاوری‌ SIMD، مدل‌ برنامه‌نویسی اینترینزیک (IPM) جهت بردار‌سازی صریح و بردارسازی خودکار کامپایلر (CAV) به‌عنوان راهکار بردارسازی غیرصریح صورت می‌گیرد. همچنین تعدادی از توابع چندرسانه‌ای با استفاده از IPM پیاده‌سازی شده و در مقایسه با CAV مورد ارزیابی قرار می‌گیرد. نتایج پیاده‌سازی‌ها نشان می‌دهد حداکثر افزایش کارایی تا 67/22 در پیاده‌سازی IPM کامپایلر ICC، برای الگوریتم مجموع قدر‌مطلق تفاضل‌ها نسبت به پیاده‌سازی متوالی به‌دست می‌آید. از طرفی با وجود کارایی بالاتر بردارسازی IPM نسبت به CAV، استفاده از روش بردارسازی خودکار کامپایلر راحت‌تر است و توسعه این سبک بردارسازی برای فنّاوری SIMD بیشتر مورد توجه پژوهشگران است.





 

کلیدواژه‌ها