Файл не найден в задаче, определенной в COMPS

Я реализовал приложение с помощью COMP Superscalar, и мне не удалось выполнить задачу. Глядя на файл стандартного файла ошибок (job1_NEW.err), я получил исключение File Not Found, но файл существует на моем компьютере.

Есть идеи, в чем может быть ошибка?

РЕДАКТИРОВАТЬ: Добавлены ресурсы и файлы проекта

resources.xml

          <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

 <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>

Объявление метода в файле интерфейса

@Method(declaringClass = "matmul.files.MatmulImpl")
        void multiplyAccumulative(
                @Parameter(direction = Direction.INOUT) String file1,
                @Parameter() String file2,
                @Parameter() String file3,
                @Parameter() int bsize
        );

1 ответ

Решение

Если ваш параметр действительно является файлом, вам нужно указать его тип (т.е. type=Type.FILE). В противном случае среда выполнения COMPS не сможет различить строковую переменную и файл (потому что файл на самом деле является строкой со своим путем). Ваш интерфейс должен выглядеть так:

@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
);
Другие вопросы по тегам