Graphite Simulator安装配置方法

2024-01-12 00:32

本文主要是介绍Graphite Simulator安装配置方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Graphite Simulator是由MIT的Carbon研究组开发的一款并行分布式全系统模拟器,该小组隶属于原RAW Chip设计团队,并与Tilera公司关系紧密。Graphite通过对一系列计算机体系结构领域常用模拟器的集成,为研究者提供了一个全系统模拟环境。Graphite可模拟的部分包括:Memory Hierarchy、Cache、Directory、NOC等,并使用orion计算动态功耗。Graphite目前不支持core详细模拟,而是采用PIN来执行测试程序,并用截获的指令流来驱动整个模拟器。这种方式虽然限制了模拟器的exploration space,但是可以使得更多的真实负载可以被用于整个系统的测试。(在今年5月的IPDPS2012上,我遇到了MIT的George Kurian,他说目前Carbon正在考虑用一个详细的core模拟模块替换PIN,以使得Graphite可以满足未来Tilera的设计需要。微笑)最为重要的是,该模拟器构建了一个统一的模拟器支持层,可实现并行模拟和分布式模拟。通过这种方式,研究者可以将模拟任务分不到若干计算机上进行,大大缩短了模拟实验的时间(这方面的一个反例就是目前常用的Simics-GEMS,进行一次16核的众核芯片模拟实验通常要1-2个星期)。在今年的IPDPS2012会议上,该研究组基于这个模拟器发表了一篇关于千核众核处理器的片上光互联的研究论文[1]。

Graphite Simulator的出现为研究更大规模的众核处理器提供了支持,使得研究人员有机会通过实验了解一个大型处理器芯片内各部分的变化对于整体性能的影响。自2009年该模拟器推出以来,已经有越来越多的研究人员开始关注这个工具,并将该工具引入到自己的研究工作中。Graphite Simulator的主页地址是:http://groups.csail.mit.edu/carbon/?page_id=111

我的下一步研究工作也将使用Graphite,因此我用了一段时间来配置这个工具。按照最初的想法,我希望能在CentOS 5.3 64位版上来运行这个工具,但是由于CentOS 5.3将部分futex由用户态改为了核心态,使得Graphite不能正常运行,所以这个移植工作暂时搁置了,以后有时间再做吧。本文介绍一下最基本的Graphite配置方法。

1.      运行环境:

操作系统:Debian 5.0lenny64位版

编译器:GCC 4.3.3 / GCC 4.4.7

其他库:boost 1.38

 

说明:目前Graphite只能在Debian 56上运行。在CentOS 5.3运行时,由于centos<linux/futex.h>中的部分系统调用由用户态改为核心态,导致graphite在编译和运行时会出现异常。另外,由于GCC 4.5以上版本将部分C++的语言特性做了修改,导致graphite在编译时会出现异常。

 

2.      手动编译GCC

(1)      下载最新版GMPMPFRMPC

(2)      依次编译安装这三个库,注意,由于这三个库有前后依赖关系,所以顺序不能乱

a)        将这三个库分别解压到GMPMPFRMPC目录

这篇关于Graphite Simulator安装配置方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596220

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、