首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在COMPSs中定义的任务中找不到文件

在COMPSs中定义的任务中找不到文件
EN

Stack Overflow用户
提问于 2016-03-04 15:39:41
回答 1查看 51关注 0票数 5

我用COMP超标量实现了一个应用程序,结果任务失败了。查看标准错误文件(job1_NEW.err)文件,我得到了一个文件没有找到异常,但该文件存在于我的计算机中。

知道会有什么错误吗?

编辑:添加资源和项目文件

Resources.xml

代码语言:javascript
复制
          <Resource Name="172.16.8.2">
               <Capabilities>
                        <Host>
                                <TaskCount>0</TaskCount>
                                <Queue>short</Queue>
                                <Queue/>
                        </Host>
                        <Processor>
                                <Architecture>x86_64</Architecture>
                                <Speed>3.0</Speed>
                                <CoreCount>4</CoreCount>
                        </Processor>
                        <OS>
                                <OSType>Linux</OSType>
                                <MaxProcessesPerUser>32</MaxProcessesPerUser>
                        </OS>
                        <StorageElement>
                                <Size>8</Size>
                        </StorageElement>
                        <Memory>
                                <PhysicalSize>4</PhysicalSize>
                                <VirtualSize>8</VirtualSize>

                        </Memory>
                        <ApplicationSoftware>
                                <Software>Java</Software>
                        </ApplicationSoftware>
                        <Service/>
                        <VO/>
                        <Cluster/>
                        <FileSystem/>
                        <NetworkAdaptor/>
                        <JobPolicy/>
                        <AccessControlPolicy/>
                </Capabilities>
                <Requirements/>
                <Adaptors>
                    <Adaptor name="integratedtoolkit.gat.master.GATAdaptor">
                        <BrokerAdaptor>sshtrilead</BrokerAdaptor>
                    </Adaptor>
                </Adaptors>
        </Resource>

Project.xml

代码语言:javascript
复制
 <Worker Name="172.16.8.2">
    <InstallDir>/opt/COMPSs/Runtime/scripts/system/</InstallDir>
    <WorkingDir>/home/user/test/wdir/</WorkingDir>
    <AppDir>/home/user/test/java/matmul/jar/</AppDir>
    <User>user</User>
  </Worker>

接口文件中的方法声明

代码语言:javascript
复制
@Method(declaringClass = "matmul.files.MatmulImpl")
        void multiplyAccumulative(
                @Parameter(direction = Direction.INOUT) String file1,
                @Parameter() String file2,
                @Parameter() String file3,
                @Parameter() int bsize
        );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-04 16:00:57

如果您的参数确实是一个文件,则需要指定它的类型(即type=Type.FILE)。否则,COMPSs运行时无法区分字符串变量和文件(因为该文件实际上是一个具有路径的字符串)。您的界面应该如下所示:

代码语言:javascript
复制
@Method(declaringClass = "matmul.files.MatmulImpl")
void multiplyAccumulative(
    @Parameter(direction = Direction.INOUT, type = Type.FILE) String file1,
    @Parameter() String file2,
    @Parameter() String file3,
    @Parameter() int bsize
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35800035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档