帮酷LOGO
  • 显示原文与译文双语对照的内容
High-performance, Reliable, and Parallel APL

  • 源代码名称:Co-dfns
  • 源代码网址:http://www.github.com/Co-dfns/Co-dfns
  • Co-dfns源代码文档
  • Co-dfns源代码下载
  • Git URL:
    git://www.github.com/Co-dfns/Co-dfns.git
  • Git Clone代码到本地:
    git clone http://www.github.com/Co-dfns/Co-dfns
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Co-dfns/Co-dfns
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • dfns编译器

    co dfns项目旨在为 Dyalog dfns编程语言的并行扩展提供高性能。高可靠性的编译器。 dfns语言是APL的一种功能性。词法上的方言方言。 co语言扩展了语言,以包含显式的任务并行性和隐式结构,用于同步和确定性。 语言是为了实现严格形式化的程序分析,以帮助编译器优化和程序员的生产力。

    我们的任务是向信息和领域专家提供可以扩展的cer编程,扩展你可以以有效完成的范围和功能。

    贡献和帮助

    我们正试图通过用户和客户贡献为dfns研究建立开放的资金模型。 你可以以通过提供代码,反馈,基准等方式支持项目,但你还可以以直接支持dfns项目:

    https://www.patreon.com/arcfide

    正在获取编译器

    co dfns遵循快速发布周期。 可以在以下位置找到发布:

    https://github.com/Co-dfns/Co-dfns/releases

    安装 dfns

    建议你将dfns安装为用户命令。 这将给你最方便的访问编译器功能,无论你在哪里或者你使用的工作空间。 除非希望某些特定的功能具有特定的访问权,否则这也不需要将codfns命名空间复制到本地工作空间。

    只需将 codfns.dyalog 文件复制到用户命令目录。 有关使用用户命令的更多信息,请参阅Dyalog安装中的用户命令文档。

    运行时编译器 api

    通过用户命令功能可以以访问编译器的正常使用,用户命令的文档可以以使用 ]?codfns 。 有一些特定功能要求你在本地工作空间中拥有dfns命名空间的副本。 本节介绍了这些 api 。

    图形 API

    图形API允许图形数据的高性能显示,包括图形。图像和动画。 它与dfns编译器集成,生成良好的代码,并尽可能利用 GPU 。

    {} ← codfns.Gfx∆Init Name

    给定 Name 作为 Fix 调用的左参数时,初始化图形库。

    codfns.Display
    Z ← WName (F codfns.Display T) Initial

    与电源( ) 运算符类似。 派生一个函数,该函数将窗口 NAME 作为左手参数和初始值作为右手参数。 当T 是一个值,当T 是一个函数时,它将迭代F 迭代右边的参数,直到T 是一个函数。 作为副作用,它将显示新窗口名 WName,并将该窗口的句柄作为左参数传递给该窗口。

    codfns.Image
    Z ← WHandle codfns.Image Z

    获取窗口句柄和作为等级 2或者等级 3 array的图像值,并将图像显示给给定的窗口句柄。 等级 3 array 必须有它的最后轴大小 3,并且应该是RGB比例的一组颜色值。

    codfns.Plot
    Z ← WHandle codfns.Plot Z

    获取窗口句柄和 plot array 。 它在窗口句柄引用的给定窗口中显示 plot 。 plot 可以是 2-D 或者 3-D plot,由给定矩阵中第二个轴的大小表示。 plot array 必须是它的列计数为 2或者 3的矩阵。 每一行对应于 plot,由X,Y 和可选的Z 值指定的特定点。

    codfns.Histogram
    Z ← WHandle codfns.Histogram Freq Min Max 

    获取一个窗口句柄和三个包含频率向量的三重值,最小值和频率向量引用的最大值。 它将值的直方图显示给给定的窗口句柄。

    缓存 API

    缓存api允许你直接调用dfns编译的命名空间,而不使用doctype转换值。 通过显式分配函数,然后在这些数组上应用专门的dfns编译函数版本,直到你准备提取结果,然后你可以将它们提取出来,这样你就可以将它们。

    专用功能是根据你的输入类型专用的。 对于布尔。整数和浮点数分别输入输入类型b 和f,可以使用 ⎕NA 来访问函数。 它是 NAME的<name><tr><tr>,它的中 <name> 是函数的NAME,<tr><tl> 是右和左输入的类型。

    这些特殊函数将结果 array 计算的类型返回为它的返回值。

    codfns.MKA
    Codfns_Array ← Name codfns.MKA Array

    这样可以手动获取指向从给定的Dyalog DWA array 创建的dfns array的指针。

    codfns.EXA
    Array ← Name codfns.EXA Codfns_Array

    用于从 array dfns中提取。 它需要一个指向 dfns array的指针和该 array的类型。 它返回一个与 Dyalog dfns array 等效的普通 array 。

    codfns.FREA
    {} ← Name codfns.FREA Codfns_Array

    释放从 MKA 获得的dfns array 指针。

    系统要求

    co dfns编译器是相当自包含的。 要使用编译器,你将需要以下软件:

    Dyalog APL 16.0或者更高版本的64位 Unicode版本

    你的系统编译器的操作主机:

    • Visual Studio 2017 ( Windows )
    • GCC ( Linux )
    • Clang ( OS X )

    ArrayFire ( 3 。5.1+ )

    你应该能够在发布页面中找到给定的ArrayFire dfns发行版中包含的适当的安装程序。 你可以在这里为你的操作系统找到适当的安装说明:

    http://arrayfire.org/docs/installing.htm

    • [Optional] CUDA

    如果你打算使用ArrayFire后端与,你将需要安装 CUDA 。 请确保你安装的rtc版本与你安装的ArrayFire软件包的版本相同。

    相关项目

    有许多基于dfns技术的相关计划:

    • Mystika: 高级的高性能加密堆栈
    • apixlib: 可编程,易于使用图像处理

    出版物

    用户命令,用于控制台

    APL模式 vs 反模式 @ FunctionalConf 2017

    公司 dfns 2017报告

    APL风格:图案和反模式。

    dfns编译器体系结构和设计( 视频) 插件

    数据并行编译器的关键。

    通过编译器设计工具加速信息专家。

    dfns: 古代语言,现代编译语言。

    U11: 使用co加速APL码

    U07: co报告:性能和可靠性Prototype设计

    I04: co编译器。

    Dyalog 2016演示文稿




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语