我在linux上使用ATI RV770显卡,OpenCl 1.0和ati-stream-sdk-v2.3-lnx64.
在运行我的主机代码时,包括以下两个部分来构建内核程序,我得到错误代码(-11)即cl_build_program_failure.这是否意味着编译了内核程序,如果没有,那么它是如何编译和调试的?
const char* KernelPath = "abc_kernel.cl"; //kernel program is in separate file but in same directory of host code..
Run Code Online (Sandbox Code Playgroud)
/ *从内核源代码创建程序对象 ******* /
char* sProgramSource = readKernelSource(KernelPath);
size_t sourceSize = strlen(sProgramSource) ;
program = clCreateProgramWithSource(context, 1,(const char **) &sProgramSource,&sourceSize, &err);
checkStatus("error while creating program",err);
Run Code Online (Sandbox Code Playgroud)
/ *构建(编译和链接)程序******* /
char* options = (char* )malloc(10*sizeof(char));
strcpy(options, "-g");
err = clBuildProgram(program, num_devices, devices_id, options, NULL, NULL);
checkStatus("Build Program Failed", …Run Code Online (Sandbox Code Playgroud) 我很好奇密码恢复如何适用于受密码保护的文件. And I want to know the exact flow of the 7-zip encryption mechanism.
7-zip在CBC模式下使用AES-256加密算法来加密文件或文件夹.密钥由用户提供的基于SHA-256哈希函数的密码短语生成.SHA-256执行2 19(524,288)次,以增加穷举搜索的成本.此外,为了帮助降低字典攻击的风险,在生成哈希之前,salt会附加到原始密码短语.
我的第一个问题是how does key_derivation function work to generate a 256-bit key?IV C对AES CBC模式及其生成方式的重要性是什么?
我的第二个most important question是如何验证密钥解密7-zip存档?我的意思是它的key_verification函数如何工作?
encryption cryptography 7zip password-recovery cryptanalysis
问题是使用MPI将密码搜索到大小约为10GB的大文件中.我在不同的块大小进程之间划分文件,(Total number of bytes in file / P)其中p是在每个进程中通过循环并行地创建和应用我的搜索逻辑的进程数.我想在一个进程找到解决方案时停止其他进程.
所以要按照两种方法中止我正在使用的所有其他进程.
if(flag == 1) break; 这样做..我的第一个问题是上述哪两种方法更好,为什么?
第二个是当我使用第二种方法后,我在成功完成执行后得到了msg ...
* MPI最终确定后MPI_Finalize*发生错误***MPI_ERRORS_ARE_FATAL(再见)[abc:19150] MPI_INIT成功完成前中止; 无法保证所有其他进程都被杀死!
* MPI最终确定后 MPI_Finalize*发生错误* MPI_ERRORS_ARE_FATAL(再见)[abc:19151] MPI_INIT成功完成前中止; 无法保证所有其他进程都被杀死!
我使用 MPI2.2 标准用 C 编写并行程序。我有 64 位机器。
/* MPI offset is long long*/
MPI_Offset my_offset; printf ("%3d: my offset = %lld\n", my_rank, my_offset);
int count;
MPI_Get_count(&status, MPI_BYTE, &count);
printf ("%3d: read =%d\n", my_rank, count);
Run Code Online (Sandbox Code Playgroud)
我正在逐字节读取一个非常大的文件。为了并行读取文件,我正在使用偏移变量为每个进程设置偏移量。我对 MPI_offset 类型的数据类型感到困惑,那么"whither it is signed or unsigned"长?
我的第二个问题是关于 MPI_Get_count() 函数中使用的“计数变量范围”的限制。因为这里使用这个函数从每个进程的缓冲区中读取所有元素so i think it should also be of the long long type to read such a very large file.
正如我所学的,各种并行范例标准的基础知识,例如OpenMP,MPI,OpenCL,可以编写并行程序。但是我对Map-Reduce编程模型不了解很多。
众所周知,各种流行的公司都在遵循Map-Reduce编程模型来解决其庞大的数据密集型任务。MPI和MPI都是为大型并行计算机和工作站群集上的高性能计算而设计的。
所以我的第一个困惑是..我可以使用Map-Reduce模型代替MPI标准吗?反之亦然?还是取决于应用!
它们之间的确切区别是什么?
Which one is better and when?
Run Code Online (Sandbox Code Playgroud)