Profiling computer systems; bottlenecks, Amdahl’s law. Concurrency: threads and locks. Techniques for programming multicore processors; cache consistency. Transactional memory. Streaming architectures, vectorization, and SIMD. High-performance programming languages. [Offered: W] Prereq: ECE 254 or 354 or SE 350; Level at least 4A Electrical Engineering or Computer Engineering or Software Engineering