×

开源软件-DtCraft通用分布式编程系统

消耗积分:0 | 格式:zip | 大小:21.70 MB | 2022-06-22

分享资料个

授权协议 MIT
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件

软件简介

 

DtCraft是一种基于数据并行流的通用分布式编程系统。 它提供了一种称为流图的新型强大编程模型,用于构建并行和分布式工作负载。 将应用程序转换为此框架后,内核将透明地为您执行作业分发。 您不必担心系统编程,可以专注于高级开发!

pYYBAGKn7sqAWzpkAAJFxxuPcTM026.png

无论您是应用程序开发人员还是特定领域的工程师,都可以使用 DtCraft 来做:

  • 分布式编程 Distributed computing
  • 事件驱动编程 Event-driven programming
  • 网络编程 Network programming
  • 数据流处理 Data stream processing

示例代码:

#include 
  
using namespace std::literals;  // for the use of string literal
using namespace dtc::literals;  // for the use of memory literal

int main(int argc, char* argv[]) {

  dtc::Graph G;

  auto A = G.vertex();
  auto B = G.vertex();

  auto lambda = [] (dtc::Vertex& v, dtc::InputStream& is) {
    if(std::string s; is(s) != -1) {
      std::cout << "Received: " << s << '\n';
      return dtc::Event::REMOVE;
    }
    return dtc::Event::DEFAULT;
  };

  auto AB = G.stream(A, B).on(lambda);
  auto BA = G.stream(B, A).on(lambda); 

  A.on([&AB] (dtc::Vertex& v) { (*v.ostream(AB))("hello world from A"s); });  
  B.on([&BA] (dtc::Vertex& v) { (*v.ostream(BA))("hello world from B"s); });
  
  G.container().add(A).cpu(1).memory(1_GB);
  G.container().add(B).cpu(1).memory(1_GB);

  dtc::Executor(G).run();
}

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !