kerncraft/machinemodel.py
def get_cachesim(self, cores=1):
        """
        Return a cachesim.CacheSimulator object based on the machine description.

        :param cores: core count (default: 1)
        """
        cache_dict = {}
        for c in self['memory hierarchy']:
            # Skip main memory
            if 'cache per group' not in c:
                continue
            cache_dict[c['level']] = deepcopy(c['cache per group'])
            # Scale size of shared caches according to cores
            if c['cores per group'] > 1:
                cache_dict[c['level']]['sets'] //= cores

        cs, caches, mem = cachesim.CacheSimulator.from_dict(cache_dict)

        return cs
def get_cachesim(self, cores=1):
        cache_dict = {}
        for c in self['memory hierarchy']:
            # Skip main memory
            if 'cache per group' not in c:
                continue
            cache_dict[c['level']] = deepcopy(c['cache per group'])
            # Scale size of shared caches according to cores
            if c['cores per group'] > 1:
                cache_dict[c['level']]['sets'] //= cores

        cs, caches, mem = cachesim.CacheSimulator.from_dict(cache_dict)

        return cs
def get_cachesim ( self , cores = 1 ) : cache_dict = { } for c in self [ 'memory hierarchy' ] : # Skip main memory if 'cache per group' not in c : continue cache_dict [ c [ 'level' ] ] = deepcopy ( c [ 'cache per group' ] ) # Scale size of shared caches according to cores if c [ 'cores per group' ] > 1 : cache_dict [ c [ 'level' ] ] [ 'sets' ] //= cores cs , caches , mem = cachesim . CacheSimulator . from_dict ( cache_dict ) return cs
Return a cachesim.CacheSimulator object based on the machine description.

        :param cores: core count (default: 1)
Return a cachesim . CacheSimulator object based on the machine description .