Implement a memory bandwidth benchmark

Assignment Help Assembly Language
Reference no: EM133105280

Assignment: Intro to HPC: implement a memory bandwidth benchmark

For this assignment, you are required to implement using x86-64 assembly, a simplified (i.e., single- core) version of the STREAM benchmark. This benchmark measures the memory bandwidth of the computer using simple array operations (kernels).

Considering A, B, C are arrays of length N , and q is a scalar, the four STREAM kernels are the following:
• COPY: A[i] = B[i], for i ≤ N
• SCALE: A[i] = q · B[i], for i ≤ N
• ADD: A[i] = B[i] + C[i], for i ≤ N
• TRIAD: A[i] = B[i] + q · C[i], for i ≤ N

Exercise: For this assignment, your goal is to implement the four STREAM array operations in x86-64 assembly and compare its performance with the default (single-core) STREAM im- plementation. The input arrays should consist of 64 bit unsigned integers. Is the performance better/worse? Why?

Basic requirements:

• Implement the four array operations.

• Find N large enough such that the data does not fit into the CPU cache (i.e., if the array is too small, the bandwidth you measure may be the cache bandwidth).

• Measure the running time of each operation (for this you may use a system call).

• Run each operation 20 times and report average running time.

• Based on the runtime, report the best achieved memory bandwidth.

Extra requirements:

• Vectorize the previously designed code using Intel AVX, or your SIMD instruction set of choice.

• Compare its achieved performance with the basic version. Does it perform better? Why?

Reference no: EM133105280

Questions Cloud

What is blue ocean strategy : What is blue ocean strategy and what is its role in digital economy? explain with example and citation.
Upcoming ai projects and initiatives of a company : Provide a general framework design that ensures that the upcoming AI projects and initiatives of a company that you are familiar with, will remain within an eth
What is the taxable equivalent yield : What is the taxable equivalent yield on a 20-year par value municipal bond that generates a tax-free bond yield of 5.75% if the marginal income tax rate
Hotel management-rooms division discussion : AirBnB's (bed and breakfast) are new competition for hotel chains. They offer a place to stay, at a more affordable price, and provide laundry, cooking, and fri
Implement a memory bandwidth benchmark : Implement the four STREAM array operations in x86-64 assembly and compare its performance with the default (single-core) STREAM
Define sustainability in context of social responsibility : Define sustainability in the context of social responsibility. How does adopting this concept affect the way businesses operate?
Construct a time series plot : For the Hawkins Company, the monthly percentages of all shipments received on time over the past 12 months are 80, 82, 84, 83, 83, 84, 85, 84, 82, 83, 84, and 8
Determine how many of pound of direct materials in inventory : Determine how many of pounds of direct materials are currently in Howard's January 1st inventory. Beginning materials inventory
Importance of gathering or collecting and interpreting data : What is the importance of gathering or collecting and interpreting data and information about competitors? What practices should a firm use to gather competitor

Reviews

Write a Review

Assembly Language Questions & Answers

  Create a assembly language subroutine

Create a assembly language subroutine MULSUM that takes an array named A containing n bytes of positive numbers, and fills two arrays, array B containing n words and array C containing n long words

  Write a function in linux assembly

Write a function in Linux assembly

  Analog measurements

Prepare an assembly program for the correctly measures the wind direction

  Design a simple digital clock

Design a simple digital clock

  Write an assembly program

Prepare an Assembly program that reads in a number of cents.

  Write an assembly language program

Write an assembly language program for encrypting alphabates of a string

  Greatest common divisor of integers-masm assembly language

Must be done in MASM assembly language: Greatest common divisor of two integers is largest integer which will evenly divide both integers. GCD algorithm involves integer division in a loop.

  Write assembly program-find right admission price to movie

Write the Assembly program to find correct admission price to movie. Price of admission to a movie is $7 for kids (under 12) and $9 for adults.

  Create simple 8-bit alu using add-subtract-shift functions

Create a simple 8-bit ALU. Requirements:The eight functions that you will implement are: add, subtract, and, or, shift left logical, less than, shift right logical.

  Write assembly program print binary representation-integers

Write the assembly program called hw6_ex1, stored in file hw6_ex1.asm. This program must prompt user to enter signed 32-bit integer. Program must print out binary representation of the integer.

  Allot op-codes and add microcode to microprogram

Allot op-codes and add microcode to microprogram of Mic-1 to implement following instructions which are then included with IJVM instruction set.

  Write mips assembly program to read two non-negative numbers

Write MIPS assembly program to repeatedly read two non-negative integers and print integer product and quotient without using multiplication and division instructions.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd