Abstract: A method for weight sharing, executed by at least one computing-in-memory macro, the method comprising: a weight memory of a CIM macro of the at least one CIM macro storing a weight; and sending the weight to a plurality of multiply and accumulation (MAC) modules of the at least one CIM module by the weight memory and the weight is shared by the plurality of MAC modules, wherein each of the plurality of MAC modules is in the CIM macro comprises the weight memory or in another CIM macro.