如果我已经构建了一个python包distutils.core,例如via
setup(
ext_package="foo",
author="me",
version="1.0",
description="foo package",
packages=["foo",],
)
Run Code Online (Sandbox Code Playgroud)
所有元数据在哪里(它的目的是什么?)以及如何从python中访问它.具体来说,如何在执行类似操作后从python控制台访问作者信息
>>> import foo
Run Code Online (Sandbox Code Playgroud) 在尝试并行计算几个矩阵的特征值和特征向量时,我发现LAPACK dsyevr函数似乎不是线程安全的.
这是C中的一个最小代码示例,它演示了这个问题:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <assert.h>
#include <omp.h>
#include "lapacke.h"
#define M 8 /* number of matrices to be diagonalized */
#define N 1000 /* size of each matrix (real, symmetric) */
typedef double vec_t[N]; /* type for length N vector */
typedef double mtx_t[N][N]; /* type for N x N matrices */
void
init(int m, int n, mtx_t *A){
/* init m symmetric n x x matrices …Run Code Online (Sandbox Code Playgroud) 将作业脚本提交给PBS排队系统时,会自动指定挂机时间,或者由用户指定挂机时间,例如通过
#PBS -l walltime=1:00:00
Run Code Online (Sandbox Code Playgroud)
问题是如果可以从作业脚本访问此时间.是否有环境变量或其他方式来获得此壁挂时间.
最后,作业脚本应该不时地决定是否还有足够的时间做更多的工作,这样作业就不会被排队系统杀死.
更新:
至少如果用户在资源列表中指定了walltime,我可以提出以下解决方法(为bash工作)
read _ _ PBS_WALLTIME <<< `qstat -f $PBS_JOBID | grep "Resource_List.walltime"`
Run Code Online (Sandbox Code Playgroud)
它从qstat输出解析walltime并将值放在PBS_WALLTIME变量中.因此,命令
echo $PBS_WALLTIME
Run Code Online (Sandbox Code Playgroud)
会产生类似的东西
1:00:00
Run Code Online (Sandbox Code Playgroud)