分布式实时共享库的构建

dijitso的Python项目详细描述


a用于分布式实时共享库构建的python模块

作者:

贡献者:

文档

文档可以在http://fenics-dijitso.readthedocs.org/查看。

Documentation Status

自动测试

我们使用Bitbucket管道和Atlassian Bamboo执行自动化 测试。

Pipelines Build StatusBamboo Build Status

代码覆盖率

代码覆盖率报告可以在 https://coveralls.io/bitbucket/fenics-project/dijitso

Coverage Status

动机

本模块的编写是为了改进fenics的核心组件 框架,即C++代码的即时编译 由Python模块生成,但只从C++内部调用 库,因此不需要包装在一个好的python接口中。

dijitso的主要方法是使用cTypes导入动态 直接共享库,不尝试用python包装 接口。

只要编译后的代码能够提供一个简单的工厂函数 一个实现预定义C++接口的类,没有限制 该接口的复杂性,只要它只从C++调用 代码,如果您想要生成代码的python接口,dijitso 可能不是答案。

尽管dijitso在fenics中扮演着非常特殊的角色 项目,它不依赖于其他芬尼成分。

并行支持依赖于mpi4py接口,尽管mpi4py 实际上不是在dijitso模块中导入的,因此 可以用类似的接口模拟communicator对象。

功能列表

  • 基于用户提供的签名字符串的磁盘缓存系统(用户是 负责签名的质量)
  • 通过 用户提供的回调,仅当在 磁盘缓存
  • Low调用C++编译器生成共享库 没有python包装
  • 使用cTypes导入可移植共享库
    • 缓存目录中源代码的自动压缩保存 空间
  • 自动检测哪些MPI进程共享同一物理缓存 目录(不管这是一个节点上的所有核心还是共享的 跨具有网络映射存储的节点)
  • 仅通过 在每个物理缓存目录的一个进程上编译
  • 基于MPI的可选共享库二进制文件分发
  • 可配置的并行行为:
    • “根”:仅在单个根节点上构建并将二进制文件分发到 每个带有mpi的物理缓存目录
    • “node”:构建在每个物理缓存目录的一个进程上
    • “进程”:构建在每个进程上,自动分离缓存 目录

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我下载的图像不会出现在我应用程序的屏幕上   Netbeans 8.2 Java多行注释使用键盘快捷键添加用户/日期时间   FORKJOIN分支中节点的java jbpm并发执行   Java/Oracle连接性能问题   访问数组元素时发生Java字符串越界异常   java NumberFormat不适用于ModelAndView和HandlerInterceptorAdapter   使用JUNIT的java Android文件操作测试   java有没有一种方法可以将系统关闭按钮设置为javafx按钮?   java如何计算字符串中的大小写字母?   解析Java CSV文件操作   postgresql在MAC上安装PL/Java   带有FlowLayout的java JPanel可以调整自身大小   java Lucene外部文档Id偏离内部索引docId   java如何停止Spring的默认输出?   java使用json库从文本文件中读取多个json对象   java Spring启动时出现MyBatis@MapperScan错误