小编das*_*obu的帖子

如何从python控制台中访问python包元数据?

如果我已经构建了一个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)

python distutils

12
推荐指数
2
解决办法
4519
查看次数

不应该LAPACK dsyevr函数(对于特征值和特征向量)是线程安全的吗?

在尝试并行计算几个矩阵的特征值和特征向量时,我发现LAPACK dsyevr函数似乎不是线程安全的.

  • 这对任何人都知道吗?
  • 我的代码有问题吗?(见下面的最小例子)
  • 任何关于密集矩阵的eigensolver实现的建议都不是太慢并且绝对是线程安全的,这是值得欢迎的.

这是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)

c fortran thread-safety eigenvector lapack

10
推荐指数
1
解决办法
2388
查看次数

在PBS作业脚本中获取壁垒时间

将作业脚本提交给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)

pbs

6
推荐指数
1
解决办法
3098
查看次数

标签 统计

c ×1

distutils ×1

eigenvector ×1

fortran ×1

lapack ×1

pbs ×1

python ×1

thread-safety ×1