Click here to Skip to main content
15,611,970 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
There are some questions about shared memory(The book I am reading is <cuda programming=""> by Shane Cook):
1. The book said "In Fermi the choice is 16K or 48K in favor of the L1 or shared memory"
and then "Shared memory is a bank-switched architecture. On Fermi it is 32 banks wide" "Each bank of data is 4 bytes in size"

32 * 4 bytes = 128 bytes is not equal to 48K, why? How to understand that?

2. What is "bank-switched architecture" ? Is there any reference that can provide to me?


1 solution

You can read about bank-switched memory here:[^].

Your arithmetic concerns hardly can be explained based on just two sentences taken out of context. Such sentences can always be understood incorrectly, and books can contain some error. No matter what it is, you can always find out the real sizes of banks and other units from other sources, in particular, original Nvidia documentation. Fermi microarchitecture is explained here:[^].

Share this answer
virusx1984 17-Dec-15 19:26pm    
thank you for your answer and your references!
Sergey Alexandrovich Kryukov 17-Dec-15 20:03pm    
You are welcome. Will you accept the answer formally? It won't prevent others for adding their advice.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900