<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文 &#187; richard_wu2005</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/author/richard_wu2005/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Sat, 26 May 2012 06:34:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Java 语言中使用 OpenMP</title>
		<link>http://software.intel.com/zh-cn/blogs/2010/06/23/java-openmp/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2010/06/23/java-openmp/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 07:31:16 +0000</pubDate>
		<dc:creator>richard_wu2005</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[软件开发工具]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2010/06/23/java-openmp/</guid>
		<description><![CDATA[从去年年中，开始学习Java，主要是维护公司用Java编写的服务器软件。目前，该服务器软件遇到一个问题，在下载大文件时，如果同时下载的用户很多，服务器软件工作会出现异常，有的用户无法下载。服务器硬件基本上都是多核处理器，所以，如果能在Java语言中使用并行编程技术，使用OpenMP，可能会提高服务器软件的性能。 今天，测试了一下，Java语言中也可以使用OpenMP。以下是详细测试过程： 1. 下载jomp1.0b.jar http://www2.epcc.ed.ac.uk/computing/research_activities/jomp/index_1.html 2. 将jomp1.0b.jar部署到JDK的lib下，然后追加到CLASSPATH。我用的JDK版本为1.6.0_19(最新JDK为1.6.0_20)。 也可以不追加到系统变量，而是直接解压后当作应用类使用。 3. 编写测试代码TestJavaOpenMP.jomp。扩展名必须为jomp。 import java.util.*; public class TestJavaOpenMP { public static void main(String[] agrs) { int i; //omp parallel for for(i = 0; i &#60; 20; i++) { System.out.println("i = " + i); } } } 4. 由jomp 生成java文件： java jomp.compiler.Jomp TestJavaOpenMP。(这里不带jomp扩展名) 生成TestJavaOpenMP.java文件。 5. 编译TestJavaOpenMP.java: java TestJavaOpenMP.java. 生成TestJavaOpenMP.class文件 [...]]]></description>
			<content:encoded><![CDATA[<p>从去年年中，开始学习Java，主要是维护公司用Java编写的服务器软件。目前，该服务器软件遇到一个问题，在下载大文件时，如果同时下载的用户很多，服务器软件工作会出现异常，有的用户无法下载。服务器硬件基本上都是多核处理器，所以，如果能在Java语言中使用并行编程技术，使用OpenMP，可能会提高服务器软件的性能。</p>
<p>今天，测试了一下，Java语言中也可以使用OpenMP。以下是详细测试过程：</p>
<p>1. 下载jomp1.0b.jar</p>
<p>http://www2.epcc.ed.ac.uk/computing/research_activities/jomp/index_1.html</p>
<p>2. 将jomp1.0b.jar部署到JDK的lib下，然后追加到CLASSPATH。我用的JDK版本为1.6.0_19(最新JDK为1.6.0_20)。</p>
<p>也可以不追加到系统变量，而是直接解压后当作应用类使用。</p>
<p>3. 编写测试代码TestJavaOpenMP.jomp。扩展名必须为jomp。</p>
<p>import java.util.*;</p>
<p>public class TestJavaOpenMP<br />
{</p>
<p>public static void main(String[] agrs)<br />
{<br />
int i;<br />
//omp parallel for</p>
<p>for(i = 0; i &lt; 20; i++)<br />
{<br />
System.out.println("i = " + i);<br />
}<br />
}<br />
}</p>
<p>4. 由jomp 生成java文件：</p>
<p>java jomp.compiler.Jomp TestJavaOpenMP。(这里不带jomp扩展名)</p>
<p>生成TestJavaOpenMP.java文件。</p>
<p>5. 编译TestJavaOpenMP.java:</p>
<p>java TestJavaOpenMP.java. 生成TestJavaOpenMP.class文件</p>
<p>6. 运行：</p>
<p>java -Djomp.threads=2 TestJavaOpenMP</p>
<p>一个运行结果：</p>
<p>i = 0<br />
i = 10<br />
i = 1<br />
i = 2<br />
i = 11<br />
i = 12<br />
i = 3<br />
i = 13<br />
i = 14<br />
i = 4<br />
i = 15<br />
i = 5<br />
i = 16<br />
i = 6<br />
i = 17<br />
i = 7<br />
i = 18<br />
i = 8<br />
i = 9<br />
i = 19</p>
<p>java -Djomp.threads=4 TestJavaOpenMP</p>
<p>一个运行结果：</p>
<p>i = 15<br />
i = 0<br />
i = 10<br />
i = 5<br />
i = 11<br />
i = 1<br />
i = 16<br />
i = 2<br />
i = 12<br />
i = 6<br />
i = 13<br />
i = 14<br />
i = 3<br />
i = 17<br />
i = 18<br />
i = 19<br />
i = 4<br />
i = 7<br />
i = 8<br />
i = 9</p>
<p>可以看到，该运行结果类似C/C++语言中的结果。是否真的在多核上运行，需要对比一下运行时间才能知道。</p>
<p>参考网页：</p>
<p>http://www.hipecc.wichita.edu/jomp.html</p>
<p>http://www2.epcc.ed.ac.uk/computing/research_activities/jomp/index_1.html</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2010/06/23/java-openmp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

