我已经能够使用Microsoft.Web.Deployment代码将文件放在我的IIS服务器上:
DeploymentSyncOptions syncOptions = new DeploymentSyncOptions();
DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions();
sourceBaseOptions.ComputerName = "localhost";
DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions();
destinationBaseOptions.ComputerName = ComputerName; // remote host
destinationBaseOptions.UserName = Username;
destinationBaseOptions.Password = Password;
DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.IisApp, deployDirectory, sourceBaseOptions);
deploymentObject.SyncTo(DeploymentWellKnownProvider.IisApp, RemoteFolderName, destinationBaseOptions, syncOptions);
Run Code Online (Sandbox Code Playgroud)
似乎所有这一切都是在现有Web应用程序下创建一个新文件夹.如果我进入IIS管理器,右键单击我创建的文件夹,然后单击"转换为应用程序",然后我得到我正在寻找的行为.有没有人知道如何使用Microsoft.Web.Deployment包来做到这一点?
在调用MPI_BCAST时,是否有任何隐含的同步?例如,如果发送者进程在其他人可以进入MPI_BCAST之前进行BCAST然后继续而没有任何确认?最近的一些测试代码如:
program test
include 'mpif.h'
integer ierr, tid, tmp
call MPI_INIT(ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, tid, ierr)
tmp = tid
if(tid.eq.0) then
call MPI_BCAST(tmp,1,MPI_INTEGER,MPI_ROOT,MPI_COMM_WORLD, ierr)
else
endif
write(*,*) tid,'done'
call MPI_FINALIZE(ierr)
end
Run Code Online (Sandbox Code Playgroud)
尽管只有发送者正在调用MPI_BCAST,但它显示两个线程都完成了.
输出:
1 done 0
0 done 0
Run Code Online (Sandbox Code Playgroud)
这可能是我正在使用的MPI安装(MPICH)的问题,还是MPI的标准行为?
有没有办法cudaArray从设备中读取值而不将其包装在纹理参考/对象中?我所看到的所有示例都cudaArray专门用于创建纹理.这是他们可以使用的唯一方式,还是我可以这样做:
__global__ kernel(cudaArray *arr, ...) {
float x = tex1D<float>(arr, ...);
...
}
cudaArray *arr;
cudaMallocArray(&arr, ...);
cudaMemcpyToArray(arr, ...);
kernel<<<...>>>(arr, ...);
Run Code Online (Sandbox Code Playgroud)
所以基本上,应该取代tex1D那里的东西?此外,如果这是可能的,我会很好奇,如果有人认为这样做会有任何性能上的好处,但我也会运行自己的测试来看.
谢谢!