اسنپ برای افزایش کارایی کد در سرورهای خود، میخواهد از تکنیک SIMD استفاده کند. این تکنیک به این صورت عمل میکند که به جای اینکه در آن واحد یک عملیات روی دیتای ۳۲ بیتی انجام شود، ۴ عملیات روی ۴ دیتای ۸ بیتی بدون علامت انجام میشود. به این ترتیب به Parallelism دست پیدا میکنیم. اما نکته مهم اینکه اینجا به جای استفاده از قابلیت سختافزاری پردازندهها برای SIMD، از امکانات همروندی زبان گو استفاده میکنیم.
جزئیات پروژه
پروژه اولیه را از این لینک دانلود کنید.
در این سوال شما باید تابع Simd
را پیاده سازی کنید. تابع شما ورودیهای زیر را دارد:
- یک تابع به عنوان عملیات
- یک
uint32
به عنوان ورودی - یک
uint32
به عنوان خروجی محاسبات
آنچه باید آپلود کنید
پس از پیادهسازی موارد خواسته شده، فایل main.go
را آپلود کنید. در صورتی که از dependency خاصی استفاده کردهاید، فایلهای go.mod
و go.sum
را بههمراه فایل main.go
زیپ کرده و آن را آپلود کنید.
ارسال پاسخ برای این سؤال