اسنپ برای افزایش کارایی کد در سرور‌های خود، می‌خواهد از تکنیک SIMD استفاده کند. این تکنیک به این صورت عمل می‌کند که به جای اینکه در آن واحد یک عملیات روی دیتای ۳۲ بیتی انجام شود، ۴ عملیات روی ۴ دیتای ۸ بیتی بدون علامت انجام می‌شود. به این ترتیب به Parallelism دست‌ پیدا می‌کنیم. اما نکته مهم اینکه اینجا به جای استفاده از قابلیت سخت‌افزاری پردازنده‌ها برای SIMD، از امکانات هم‌روندی زبان گو استفاده می‌کنیم.

جزئیات پروژه

پروژه اولیه را از این لینک دانلود کنید.

در این سوال شما باید تابع Simd را پیاده سازی کنید. تابع شما ورودی‌های زیر را دارد:

  • یک تابع به عنوان عملیات
  • یک uint32 به عنوان ورودی
  • یک uint32 به عنوان خروجی محاسبات

آن‌چه باید آپلود کنید

پس از پیاده‌سازی موارد خواسته شده، فایل main.go را آپلود کنید. در صورتی که از dependency خاصی استفاده کرده‌اید، فایل‌های go.mod و go.sum را به‌همراه فایل main.go زیپ کرده و آن را آپلود کنید.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.