×

Trending Technologies MCQs

Heterogeneous Computing MCQs (Multiple-Choice Questions)

Practice Heterogeneous Computing MCQs to test your understanding of CPU and GPU architectures, specialized accelerators, parallel processing, task scheduling, memory systems, performance optimization, and heterogeneous computing applications. These multiple-choice questions are designed for students, computer science learners, software developers, and IT professionals preparing for examinations and technical interviews.

Heterogeneous Computing MCQs

Heterogeneous computing is an approach that combines different types of processing units, such as CPUs, GPUs, digital signal processors (DSPs), and specialized accelerators, to execute workloads. Each processing unit has different capabilities, making it suitable for particular types of tasks. By assigning work to appropriate processing units, heterogeneous systems can improve performance, energy consumption, and resource utilization for supported workloads.

Practicing these Heterogeneous Computing MCQs helps you understand heterogeneous architectures, CPU-GPU collaboration, parallelism, accelerator programming, memory transfers, task scheduling, performance measurement, and workload distribution. Each question includes four answer options, the correct answer, and an explanation to support learning.

List of Heterogeneous Computing MCQs

The following questions cover fundamental and advanced concepts of heterogeneous computing, including processor architectures, GPU execution, specialized hardware, programming models, memory management, parallel algorithms, energy efficiency, performance calculations, and practical problem-solving scenarios.

1. What is heterogeneous computing?

  1. A computing approach that uses only one type of processor for every task
  2. A system that operates without memory or storage
  3. A computing approach that combines different types of processing units to execute workloads
  4. A system that prevents parallel processing

Answer: C) A computing approach that combines different types of processing units to execute workloads

Explanation:

Heterogeneous computing combines processing units with different architectures or capabilities, such as CPUs, GPUs, and specialized accelerators. Tasks can be assigned to suitable processing units according to their computational characteristics and system requirements.

2. Which of the following is an example of a heterogeneous computing system?

  1. A computer containing a CPU and a GPU
  2. A computer containing only one CPU with no other processing units
  3. A calculator that performs only basic arithmetic
  4. A storage device that contains no processing capability

Answer: A) A computer containing a CPU and a GPU

Explanation:

A computer with a CPU and a GPU is a common example of heterogeneous computing. The CPU handles general-purpose tasks and system control, while the GPU can process large numbers of suitable parallel operations.

3. What is the primary advantage of heterogeneous computing?

  1. It eliminates the need for software development
  2. It guarantees that every application runs faster
  3. It removes the need for memory management
  4. It allows workloads to use processing units suited to their computational requirements

Answer: D) It allows workloads to use processing units suited to their computational requirements

Explanation:

Different processing units are optimized for different types of work. Heterogeneous computing can improve performance or energy consumption when workloads are assigned appropriately, although the benefits depend on the application, data movement, and scheduling overhead.

4. Which processing unit is generally designed for general-purpose sequential execution and complex control flow?

  1. GPU
  2. CPU
  3. DSP
  4. Fixed-function video decoder

Answer: B) CPU

Explanation:

A central processing unit (CPU) is designed to handle a wide variety of instructions, branching, operating system tasks, and general-purpose applications. CPUs can also execute parallel workloads, but their architecture differs from that of many throughput-oriented accelerators.

5. Which processing unit is particularly suitable for large-scale data-parallel computations?

  1. Traditional mechanical relay
  2. Keyboard controller only
  3. GPU
  4. Power supply unit

Answer: C) GPU

Explanation:

A graphics processing unit (GPU) contains many processing resources designed to execute large numbers of operations in parallel. GPUs are commonly used for graphics rendering, scientific computing, machine learning, and other workloads with sufficient parallelism.

6. What is the primary purpose of a digital signal processor (DSP)?

  1. To perform operations commonly found in signal processing, such as filtering and transforms
  2. To replace all storage devices
  3. To provide network connectivity without processing data
  4. To execute only word-processing applications

Answer: A) To perform operations commonly found in signal processing, such as filtering and transforms

Explanation:

A DSP is designed to handle digital signal processing workloads, including audio processing, filtering, modulation, and mathematical transforms. Its architecture may include specialized instructions and data paths that support these operations.

7. What is a hardware accelerator?

  1. A software application that only displays system information
  2. A device that stores data without processing it
  3. A component used only to supply electrical power
  4. A hardware component designed to speed up particular types of computation

Answer: D) A hardware component designed to speed up particular types of computation

Explanation:

A hardware accelerator is designed to perform selected operations more effectively than a general-purpose processor for supported workloads. Examples include GPUs, AI accelerators, cryptographic accelerators, and video encoding hardware.

8. Which of the following is a common example of a specialized accelerator for artificial intelligence workloads?

  1. Hard disk drive
  2. Tensor processing unit (TPU)
  3. Network patch cable
  4. Computer monitor

Answer: B) Tensor processing unit (TPU)

Explanation:

A tensor processing unit is a specialized processor designed to accelerate tensor operations used in machine learning. Such accelerators can provide high throughput for supported workloads, particularly operations involving large matrix multiplications.

9. What does parallelism mean in heterogeneous computing?

  1. Executing multiple operations or tasks at the same time
  2. Running every instruction sequentially on one processing unit
  3. Disabling all processing units except one
  4. Moving all application data to a single storage device

Answer: A) Executing multiple operations or tasks at the same time

Explanation:

Parallelism allows independent or appropriately coordinated operations to execute concurrently. Heterogeneous systems can exploit parallelism within a processing unit and across different processing units, provided the workload can be divided safely.

10. What is task offloading in heterogeneous computing?

  1. Deleting a task before execution
  2. Moving all processing to a single CPU core permanently
  3. Assigning a task or computation to another processing unit, such as a GPU or accelerator
  4. Disabling communication between processors

Answer: C) Assigning a task or computation to another processing unit, such as a GPU or accelerator

Explanation:

Task offloading transfers computation from one processing unit to another. For example, a CPU may offload matrix operations to a GPU. The performance benefit depends on computation time, data transfer costs, synchronization, and the suitability of the accelerator.

11. What is the role of a CPU in a typical CPU-GPU computing system?

  1. To perform only graphics rendering
  2. To manage general application logic, coordinate tasks, and initiate GPU work when appropriate
  3. To replace the GPU's entire memory system
  4. To ensure that all operations run sequentially

Answer: B) To manage general application logic, coordinate tasks, and initiate GPU work when appropriate

Explanation:

The CPU commonly manages the application, operating system interactions, and task coordination. It may prepare data, launch GPU kernels, and process results returned by the GPU. The exact division of work depends on the software and hardware architecture.

12. What is a GPU kernel in parallel computing?

  1. A physical cooling component attached to a GPU
  2. A storage partition used for graphics files
  3. A type of operating system installed only on GPUs
  4. A function executed by GPU processing resources, often across many threads

Answer: D) A function executed by GPU processing resources, often across many threads

Explanation:

In GPU programming models such as CUDA, a kernel is a function launched for execution by many GPU threads. These threads can process different elements of a dataset in parallel, subject to the execution model and available resources.

13. Which programming platform is commonly used for general-purpose GPU computing on supported NVIDIA GPUs?

  1. CUDA
  2. HTML
  3. CSS
  4. SMTP

Answer: A) CUDA

Explanation:

CUDA is NVIDIA's parallel computing platform and programming model for supported GPUs. It provides programming interfaces, libraries, and tools for developing applications that execute suitable computations on NVIDIA hardware.

14. Which standard provides a framework for programming parallel computation across different kinds of processors and accelerators?

  1. FTP
  2. SMTP
  3. OpenCL
  4. POP3

Answer: C) OpenCL

Explanation:

OpenCL is an open standard for programming parallel computation across supported CPUs, GPUs, and other processors. Its portability depends on the available implementations, device capabilities, and the features used by the application.

15. What is heterogeneous memory management?

  1. Storing every program permanently in processor registers
  2. Managing memory allocation and data movement across different processing units and memory spaces
  3. Eliminating memory access from parallel programs
  4. Using only one memory address for every application

Answer: B) Managing memory allocation and data movement across different processing units and memory spaces

Explanation:

Heterogeneous systems may include separate CPU and accelerator memory spaces or shared memory arrangements. Programs must manage data accessibility, allocation, transfers, synchronization, and memory consistency according to the platform's programming model.

16. Why can data transfer between a CPU and a discrete GPU affect performance?

  1. Because data transfer always requires recompiling the application
  2. Because GPUs cannot process data stored in memory
  3. Because data transfer permanently disables CPU execution
  4. Because transfer latency and bandwidth limits can add overhead to GPU computations

Answer: D) Because transfer latency and bandwidth limits can add overhead to GPU computations

Explanation:

Moving data between host memory and discrete GPU memory can consume time and bandwidth. If a workload performs little computation, transfer overhead may outweigh the benefits of GPU acceleration. Keeping data on the GPU across multiple operations can reduce repeated transfers.

17. What is shared memory in the context of heterogeneous computing?

  1. A memory arrangement or region that can be accessed by multiple processing agents under defined access rules
  2. A type of memory that cannot store application data
  3. A storage device that is always disconnected from the CPU
  4. A processor that contains no cache

Answer: A) A memory arrangement or region that can be accessed by multiple processing agents under defined access rules

Explanation:

Shared memory may refer to memory accessible by multiple processors or to a specific programming construct, such as shared memory within a GPU thread block. The meaning depends on the architecture and programming model, and synchronization may be needed to coordinate concurrent access.

18. What is unified memory in some heterogeneous computing platforms?

  1. A memory system that guarantees identical performance for all processors
  2. A mechanism that removes the need for physical memory
  3. A memory model that provides a unified address space or simplified memory access across supported processors
  4. A storage device that can only be used by one thread

Answer: C) A memory model that provides a unified address space or simplified memory access across supported processors

Explanation:

Unified memory can simplify programming by allowing CPU and accelerator code to refer to data through a common address space. Actual movement, caching, coherence, and performance behavior vary by platform, so unified addressing does not necessarily mean all processors access the same physical memory at identical speed.

19. What is data parallelism?

  1. Executing only one instruction in an entire application
  2. Applying similar operations concurrently to different elements of a dataset
  3. Preventing multiple threads from accessing different data
  4. Moving all data into a single sequential file

Answer: B) Applying similar operations concurrently to different elements of a dataset

Explanation:

Data parallelism divides a dataset into elements or regions that can be processed concurrently. For example, adding two arrays element by element can be parallelized because each output element can be calculated independently.

20. What is task parallelism?

  1. Applying only one operation to every data element
  2. Disabling all independent application components
  3. Processing all tasks through one fixed sequential instruction stream
  4. Executing different tasks or functions concurrently

Answer: D) Executing different tasks or functions concurrently

Explanation:

Task parallelism divides work into different operations that can run concurrently. In a heterogeneous system, one processing unit might handle image preprocessing while another performs inference, provided dependencies and resource requirements permit overlap.

21. Which type of workload is often well suited to GPU acceleration?

  1. Large matrix multiplication with substantial parallelism
  2. A task that performs one tiny operation and then exits
  3. A workload dominated by unpredictable serial dependencies with little parallel work
  4. A task that must wait for a human response after every instruction

Answer: A) Large matrix multiplication with substantial parallelism

Explanation:

Large matrix multiplication contains many arithmetic operations that can be executed concurrently. GPUs are well suited to this workload when the problem size, memory access patterns, and implementation allow the available parallel resources to be used effectively.

22. What is the primary purpose of task scheduling in heterogeneous computing?

  1. To ensure every task runs on a randomly selected device
  2. To make all processing units execute the same instruction at the same time
  3. To assign tasks to suitable processing units while considering workload requirements and available resources
  4. To prevent workloads from using specialized accelerators

Answer: C) To assign tasks to suitable processing units while considering workload requirements and available resources

Explanation:

Task scheduling determines where and when operations execute. A heterogeneous scheduler may consider computational intensity, memory requirements, data location, dependencies, device availability, and performance goals when assigning work to CPUs, GPUs, or other accelerators.

23. What is load balancing in a heterogeneous computing system?

  1. Assigning all work to the slowest processing unit
  2. Distributing work among available processing resources to reduce bottlenecks and idle time
  3. Preventing tasks from moving between processing units
  4. Giving every processor exactly the same number of instructions regardless of its capability

Answer: B) Distributing work among available processing resources to reduce bottlenecks and idle time

Explanation:

Load balancing attempts to distribute work according to processing capacity and workload characteristics. Since CPUs, GPUs, and specialized accelerators have different capabilities, effective balancing does not always mean assigning an equal amount of work to each device.

24. What is Amdahl's law used to estimate?

  1. The physical size of a processor
  2. The storage capacity of a computer
  3. The power consumption of a network switch only
  4. The theoretical speedup limit when only part of a program can be parallelized

Answer: D) The theoretical speedup limit when only part of a program can be parallelized

Explanation:

Amdahl's law estimates the maximum speedup available when a portion of a workload remains serial. If a fraction of execution cannot be parallelized, increasing the number of processing units eventually provides diminishing returns because the serial portion remains a limiting factor.

25. Which factor can limit the performance benefit of adding more GPU processing units?

  1. The serial portion of the workload and other bottlenecks
  2. The use of parallel algorithms
  3. The presence of independent data elements
  4. The availability of sufficient work for the GPU

Answer: A) The serial portion of the workload and other bottlenecks

Explanation:

Additional processing resources cannot remove all bottlenecks. Serial execution, memory bandwidth, synchronization, data transfers, and limited parallelism can restrict speedup even when more GPU resources are available.

26. What is SIMD in processor architecture?

  1. Single Input, Multiple Disks
  2. Sequential Instructions, Multiple Devices
  3. Single Instruction, Multiple Data
  4. Shared Internet, Managed Data

Answer: C) Single Instruction, Multiple Data

Explanation:

SIMD allows one instruction to operate on multiple data elements. It is useful for vector operations such as arithmetic on arrays and image processing. Some CPU vector instruction sets and GPU execution mechanisms exploit forms of data parallelism.

27. What does SIMT mean in the context of GPU computing?

  1. Single Input, Multiple Threads
  2. Single Instruction, Multiple Threads
  3. Shared Instruction, Managed Transfer
  4. Sequential Integration, Multiple Tasks

Answer: B) Single Instruction, Multiple Threads

Explanation:

SIMT is an execution model commonly associated with GPUs, in which groups of threads execute kernel code using shared instruction scheduling mechanisms. Threads can have individual data and control flow, although divergence within an execution group may reduce performance.

28. What is branch divergence in GPU execution?

  1. A technique for increasing storage capacity
  2. A method for transferring data to a CPU cache
  3. A condition that guarantees every thread follows an identical path
  4. A situation in which threads in the same execution group follow different control-flow paths

Answer: D) A situation in which threads in the same execution group follow different control-flow paths

Explanation:

Branch divergence occurs when threads within an execution group take different paths through conditional code. Depending on the GPU architecture, the different paths may need to be executed separately, reducing effective parallel throughput.

29. What is a race condition in parallel computing?

  1. A situation in which the result depends on the timing or ordering of concurrent operations
  2. A process that measures network bandwidth only
  3. A condition in which every task executes in a fixed sequence
  4. A technique that guarantees safe concurrent memory access

Answer: A) A situation in which the result depends on the timing or ordering of concurrent operations

Explanation:

A race condition can occur when concurrent operations access shared state without suitable coordination. If at least one operation modifies the state and access is not properly synchronized, the result may depend on execution timing and can become unpredictable.

30. Which mechanism can help coordinate concurrent access to shared data?

  1. Increasing the display resolution
  2. Removing all memory barriers
  3. Synchronization primitives such as locks, barriers, or atomic operations
  4. Disabling data validation

Answer: C) Synchronization primitives such as locks, barriers, or atomic operations

Explanation:

Synchronization primitives coordinate concurrent operations and protect shared state. Locks can provide mutual exclusion, barriers coordinate progress among participating threads, and atomic operations support specific indivisible updates. The appropriate mechanism depends on the programming model and algorithm.

31. What is an atomic operation?

  1. An operation that always runs on every processor in a system
  2. An operation that is treated as indivisible with respect to the relevant concurrency guarantees
  3. An operation that cannot read or write memory
  4. An operation that always requires a full application restart

Answer: B) An operation that is treated as indivisible with respect to the relevant concurrency guarantees

Explanation:

An atomic operation prevents other relevant operations from observing an intermediate state of that operation. Atomic operations are useful for counters, flags, and synchronization, although their exact ordering and visibility guarantees depend on the programming model.

32. What is the purpose of a parallel computing library?

  1. To eliminate the need for application algorithms
  2. To prevent the use of multiple processors
  3. To provide only hardware diagnostic information
  4. To provide reusable functions and abstractions for parallel operations

Answer: D) To provide reusable functions and abstractions for parallel operations

Explanation:

Parallel computing libraries provide optimized implementations of common operations such as matrix multiplication, numerical routines, and data processing. They can reduce development effort and may select suitable implementations for supported hardware.

33. Which library is commonly used for optimized linear algebra operations across supported CPU and GPU platforms?

  1. BLAS implementations and related libraries
  2. SMTP server libraries
  3. HTML rendering libraries only
  4. File compression tools exclusively

Answer: A) BLAS implementations and related libraries

Explanation:

Basic Linear Algebra Subprograms (BLAS) define interfaces for common vector and matrix operations. Optimized implementations can use CPU vector instructions, multiple CPU cores, GPUs, or other supported processing resources to accelerate linear algebra workloads.

34. What is a common use of heterogeneous computing in image processing?

  1. Using a power supply to detect image edges
  2. Preventing pixels from being accessed
  3. Using a GPU to process many pixels concurrently while the CPU coordinates the application
  4. Executing all image operations through a keyboard controller

Answer: C) Using a GPU to process many pixels concurrently while the CPU coordinates the application

Explanation:

Many image-processing operations apply similar calculations to large numbers of pixels. A GPU can process independent pixels or image regions in parallel, while the CPU handles application logic, input and output, and coordination.

35. How can heterogeneous computing benefit machine learning?

  1. By eliminating the need for training data
  2. By using specialized processing units to accelerate operations such as matrix multiplication and tensor computation
  3. By guaranteeing that every model is perfectly accurate
  4. By preventing neural networks from using parallel processing

Answer: B) By using specialized processing units to accelerate operations such as matrix multiplication and tensor computation

Explanation:

Machine learning workloads often involve large tensor operations that can be parallelized. GPUs and specialized AI accelerators can speed up training or inference when the model, precision requirements, software framework, and hardware are compatible.

36. Which statement about power consumption in heterogeneous computing is correct?

  1. Adding an accelerator always reduces total system power
  2. Power consumption does not depend on the workload
  3. Every processing unit consumes exactly the same amount of energy
  4. Using a suitable accelerator may reduce energy per task, but total power and energy depend on workload and system behavior

Answer: D) Using a suitable accelerator may reduce energy per task, but total power and energy depend on workload and system behavior

Explanation:

A specialized accelerator may complete a suitable task using less energy than a general-purpose processor. However, total energy depends on device power, execution time, data movement, idle power, and overhead. Acceleration does not automatically guarantee lower energy consumption.

37. What is energy efficiency in computing?

  1. The amount of useful computation performed per unit of energy consumed
  2. The physical size of a computer cabinet
  3. The number of display pixels generated per second regardless of power use
  4. The amount of storage installed in a system

Answer: A) The amount of useful computation performed per unit of energy consumed

Explanation:

Energy efficiency measures useful work relative to energy consumption. Depending on the workload, it can be expressed as operations per joule, tasks per watt over a defined interval, or energy required to complete a particular job.

38. What is a performance bottleneck in a heterogeneous computing system?

  1. A condition in which every processing unit operates at its maximum speed
  2. A method for distributing data evenly
  3. A component or stage that limits the overall throughput or execution speed
  4. A technique for preventing all forms of latency

Answer: C) A component or stage that limits the overall throughput or execution speed

Explanation:

A bottleneck can occur in computation, memory access, data transfer, synchronization, or task scheduling. Improving a component that is not limiting overall performance may provide little benefit, so performance profiling is important before optimization.

39. Why is benchmarking important for heterogeneous computing?

  1. To prove that one processor is always better than every other processor
  2. To measure performance and compare systems under defined workload conditions
  3. To eliminate the need to test software correctness
  4. To guarantee identical performance across all applications

Answer: B) To measure performance and compare systems under defined workload conditions

Explanation:

Benchmarking measures metrics such as execution time, throughput, and energy use under defined conditions. Meaningful comparisons require representative workloads, consistent measurement methods, appropriate warm-up, and consideration of data transfer and initialization overhead.

40. What does speedup measure in parallel computing?

  1. The number of files stored in memory
  2. The total physical size of all processors
  3. The number of network interfaces in a computer
  4. The ratio of a baseline execution time to the execution time of an optimized or parallel implementation

Answer: D) The ratio of a baseline execution time to the execution time of an optimized or parallel implementation

Explanation:

Speedup is commonly calculated as baseline execution time divided by the new execution time. For example, if a program takes 20 seconds on a baseline system and 5 seconds on an accelerated system, the speedup is 20 / 5 = 4 times.

41. What is heterogeneous scheduling?

  1. Assigning tasks among different types of processing units based on their capabilities and workload needs
  2. Assigning every task to the same processor regardless of its characteristics
  3. Scheduling tasks without considering dependencies
  4. Preventing specialized processors from executing tasks

Answer: A) Assigning tasks among different types of processing units based on their capabilities and workload needs

Explanation:

Heterogeneous scheduling determines which processing unit should execute each task and when. It may consider device performance, task dependencies, memory location, energy limits, and communication overhead to improve overall application performance.

42. What is a common challenge when programming heterogeneous systems?

  1. Every device supports exactly the same instructions
  2. There is no need to consider data movement
  3. Different processing units may have different programming models, memory systems, and execution characteristics
  4. All accelerators have identical performance characteristics

Answer: C) Different processing units may have different programming models, memory systems, and execution characteristics

Explanation:

Heterogeneous systems often combine devices with different instruction sets, memory models, performance characteristics, and software interfaces. Developers must account for these differences when dividing workloads, transferring data, coordinating execution, and optimizing performance.

43. What is the purpose of profiling a heterogeneous application?

  1. To change all processor instructions into network packets
  2. To identify where execution time and other resources are being spent
  3. To ensure every function takes the same amount of time
  4. To disable performance measurement

Answer: B) To identify where execution time and other resources are being spent

Explanation:

Profiling collects information about execution time, processor utilization, memory operations, data transfers, and synchronization. Developers use this information to identify bottlenecks and decide which parts of an application are worth optimizing or offloading.

44. What is the purpose of asynchronous execution in heterogeneous computing?

  1. To force the CPU and GPU to remain idle during every operation
  2. To guarantee that every task completes immediately
  3. To prevent multiple operations from overlapping
  4. To allow an operation to be initiated without requiring the caller to wait for its completion immediately

Answer: D) To allow an operation to be initiated without requiring the caller to wait for its completion immediately

Explanation:

Asynchronous execution can let a CPU continue performing other work while a GPU operation or data transfer is in progress. When supported and correctly coordinated, overlapping computation and communication can reduce total execution time.

45. Which factor should be considered when choosing between a CPU and a GPU for a task?

  1. The amount of parallelism, computation required, memory access pattern, and transfer overhead
  2. Only the color of the processor package
  3. Only the number of installed monitors
  4. Whether the application has a graphical user interface

Answer: A) The amount of parallelism, computation required, memory access pattern, and transfer overhead

Explanation:

Choosing a processing unit requires understanding the workload. Highly parallel tasks may benefit from a GPU, while small, sequential, branch-heavy, or latency-sensitive tasks may perform better on a CPU. Data movement and synchronization can significantly affect the result.

46. What is precision in numerical computing?

  1. The physical length of a processor
  2. The number of tasks assigned to a network switch
  3. The level of numerical detail represented by a data type, such as FP16, FP32, or FP64
  4. The size of a computer monitor

Answer: C) The level of numerical detail represented by a data type, such as FP16, FP32, or FP64

Explanation:

Numerical precision is associated with how values are represented and the range and accuracy available to computations. Lower-precision formats may offer higher throughput or lower memory use on supported hardware, but they can introduce rounding errors and may not suit every workload.

47. What is the purpose of a heterogeneous computing runtime?

  1. To manufacture new processors while the application runs
  2. To provide services for discovering devices, launching work, managing resources, and coordinating execution
  3. To replace all application algorithms with hardware circuits
  4. To guarantee that every device supports every programming language

Answer: B) To provide services for discovering devices, launching work, managing resources, and coordinating execution

Explanation:

A runtime system supports application interaction with heterogeneous hardware. Depending on the platform, it may provide device discovery, memory allocation, kernel launches, synchronization, and error handling.

48. Which application is a suitable example of heterogeneous computing in autonomous systems?

  1. Using only a text editor to store vehicle documentation
  2. Disabling all sensor processing
  3. Using a power supply to classify camera images
  4. Using a CPU for system control and specialized accelerators for perception or neural network inference

Answer: D) Using a CPU for system control and specialized accelerators for perception or neural network inference

Explanation:

Autonomous systems often combine general-purpose processors with GPUs, AI accelerators, DSPs, or other specialized hardware. Different processing units handle tasks such as control logic, sensor processing, image analysis, and neural network inference.

49. Why might a heterogeneous application run slower after adding a GPU?

  1. Because data transfer, kernel launch, synchronization, or other overheads exceed the computation time saved
  2. Because GPUs are unable to perform parallel arithmetic
  3. Because every GPU operation must always be slower than every CPU operation
  4. Because adding a GPU automatically disables CPU processing

Answer: A) Because data transfer, kernel launch, synchronization, or other overheads exceed the computation time saved

Explanation:

Accelerators introduce overheads that may outweigh their benefits for small workloads. A GPU implementation may run slower if it spends more time moving data, launching kernels, synchronizing devices, or managing resources than it saves through parallel computation.

50. A program takes 12 seconds to execute on a CPU. After optimization, a GPU executes the parallelizable portion in 2 seconds, while a remaining serial portion takes 2 seconds. Assuming these times represent the complete execution time of the optimized GPU version and exclude no additional overhead, what is the speedup compared with the original CPU execution?

  1. 2 times
  2. 2.5 times
  3. 3 times
  4. 6 times

Answer: C) 3 times

Explanation:

The original CPU execution time is 12 seconds. The optimized GPU execution time is 2 + 2 = 4 seconds, including the parallelizable and serial portions. Speedup = original execution time / optimized execution time = 12 / 4 = 3. Therefore, the optimized program runs three times as fast as the original CPU version.

Comments and Discussions!

Load comments ↻



Copyright © 2026 www.includehelp.com. All rights reserved.