• Re: 出二手深度学习工作站 dell t620

    可以的

    【 在 zhongxue 的大作中提到: 】

    : 普通的3.5的sata盘能用不 ...

    01月02日
  • Re: 出二手深度学习工作站 dell t620

    自己买显卡装就行了 英伟达加速卡太贵了 不适合这个平台

    【 在 citihome 的大作中提到: 】

    : 没英伟达的加速卡?

    2020-12-30
  • 出二手深度学习工作站 dell t620

    https://market.m.taobao.com/app/idleFish-F2e/widle-taobao-rax/page-detail?wh_weex=true&wx_navbar_transparent=true&id=633325427931&ut_sk=1.XwpzcR24zb4DAHfKKyX07gu0_21407387_1609211093121.Copy.detail.633325427931.71874216&forceFlush=1

    32g内存  20核 送120gssd 17寸显示器 gpu供电套件  便宜出了

    2020-12-29
  • 出dell t620服务器, 32G内存, 20核CPU,有GPU套件, 可插3块GPU

    比较适用于深度学习场景, 有4个PCIx16, 但有一个要插整列卡, 所以只能插3个GPU, 不带硬盘, 带阵列卡, GPU电源套件, 750w单电, 机架式机箱(没有导轨) 有意者联系, 6500吧

    2020-09-28
  • Re: 全身盔甲手持长矛利剑跟老虎狗熊搏斗,是不是稳赢?

    2020-08-08
  • 一个tensor计算库, 支持cuda延迟计算

    https://github.com/matazure/mtensor 大家好,给大家推荐一个我的开源项目, 支持cuda的延迟计算的

    2020-05-17
  • Re: c++怎么实现matlab中permute类似的操作

    https://github.com/matazure/mtensor/blob/master/test/view/ut_permute.hpp 可以看下我写的开源库mtensor,

    【 在 fangniuwawa 的大作中提到: 】

    : 对张量指标轮换的操作。谢谢!

    2020-05-14
  • Re: 一个webgl的2D阅片

    可以用鼠标右键滑动调整下对比度

    【 在 MRI 的大作中提到: 】

    : 这图像的质量好像不太好

    2020-05-09
  • 一个webgl的2D阅片

    https://github.com/matazure/dicom.js, http://dicomjs.matazure.com/dicomjs/examples/demo.html 开源一个基于webgl的dicom阅片,容易拓展修改

    2020-05-06
  • Re: [原创]向大家推荐我自己写的延迟计算库mtensor

    会借鉴xtensor的一些东西 我这写得比xtensor早很多很多年 很早之前代码是放在coding.net上的

    【 在 mvtec 的大作中提到: 】

    : 不就是expression template

    : 吗

    : 另外

    : ...................

    2020-04-25
  • Re: [原创]向大家推荐我自己写的延迟计算库mtensor

    mtensor支持cuda版本的, 并且灵活很多, 可以通过定义lambda算子注入表达式,  Eigen如果要拓展它没有的需要实现一个繁琐的模板表达式的

    【 在 leslin 的大作中提到: 】

    : 哦就是延迟求值啊,这个eigen不也是这样么

    2020-04-13
  • Re: [原创]向大家推荐我自己写的延迟计算库mtensor

    https://zh.wikipedia.org/wiki/%E6%83%B0%E6%80%A7%E6%B1%82%E5%80%BC

    延迟计算在创建一个矩阵的时候不并具体的去计算他的元素值,而是把计算的方式记录在这个矩阵里, 当我访问到具体的元素时候,再根据坐标去计算元素值。

    计算的方式其实就是一个 函数(算子)  其输入参数是矩阵的坐标, 输出是元素的值

    【 在 leslin 的大作中提到: 】

    : 什么叫延迟计算

    2020-04-13
  • Re: [原创]向大家推荐我自己写的延迟计算库mtensor

    支持CUDA gpu的延迟计算, 但没有Eigen的数值计算,

    延迟计算的实现更简洁,更灵活。 更加专注多维数组的延迟计算

    【 在 xieyf 的大作中提到: 】

    : 跟eigen相比有什么特色?

    2020-04-13
  • Re: [原创]向大家推荐我自己写的延迟计算库mtensor

    有兴趣的话  大家可以帮忙提提意见

    2020-04-10
  • [原创]向大家推荐我自己写的延迟计算库mtensor

    大家好,

    向大家推荐一个我自己写的延迟计算库, 支持多维数组数据结构,并且支持CUDA

    https://github.com/matazure/mtensor

    mtensor是一个支持延迟计算的多维数组计算库, 同时支持C++和CUDA平台

    基本功能

    Tensor主要用于多维数组及其计算,其可以便利高效的在CPU/GPU上实现遍历,滤波,转换等多种操作。也便于数据在CPU与GPU之间的传输交互。Tensor提供以下核心功能

    支持CPU和GPU端的tensor,lambda_tensor等的多维数组

    支持CPU和GPU端的延迟计算技术

    包含基本的fill, for_each, copy, transform等算法

    基于延迟计算,在view名字空间下实现了crop, stride, clamp, slice等算子

    示例

    基本用法

    Tensor会提供泛型多维数组的数据结构及相应的算法,其遵行Modern C++的编程风格

    #include <mtensor.hpp>

    using namespace matazure;

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

    constexpr int rank = 2;

    int col = 10;

    int row = 5;

    pointi<rank> shape{col, row};

    tensor<float, rank> ts(shape);

    // ts是关于2维坐标的赋值函数

    auto ts_setter = [ts](pointi<rank> index) { //ts是引用拷贝

    //将ts的元素每列递增1, 每行递增10

    ts(index) = index[0] + index[1] * 10;

    };

    //遍历shape大小的所有坐标, 默认原点是(0, 0)

    for_index(ts.shape(), ts_setter);

    //将ts的元素按行输出

    for (int j = 0; j < row; ++j) {

    for (int i = 0; i < col; ++i) {

    pointi<rank> index = {i, j};

    std::cout << ts(index) << ", ";

    }

    std::cout << std::endl;

    }

    return 0;

    }

    延迟计算

    我们使用Lambda Tensor来延迟计算技术,Lambda Tensor是一个抽象的多维数组,该数组不会指向具体的存储而是通过一个关于坐标的函数(算子)来描述。

    #include <mtensor.hpp>

    using namespace matazure;

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

    //定义一个lambda算子用来描述抽象的一维数组, 其元素值等于坐标

    auto functor_a = [](int i) -> int {

    return i;

    };

    //lambda_tensor不仅需要算子, 也需要尺寸

    pointi<1> shape = { 100 };

    //构造lts_a, 其是一个lambda_tensor

    auto lts_a = make_lambda(shape, functor_a);

    //构造lts_b, 其元素值等于坐标的两倍

    auto functor_b = [] (int i) -> int{

    return i * 2;

    };

    auto lts_b = make_lambda(shape, functor_b);

    //构造lts_a加lts_b的lambda_tensor

    auto functor_add = [lts_a, lts_b] (int i) -> int {

    return lts_a[i] + lts_b[i];

    };

    auto lts_a_add_b = make_lambda(shape, functor_add);

    //上述的定义不会执行具体的运算,当我们去获取某一个具体坐标的值时其才会真正的去调用对应的算子

    std::cout << "offset 50 value is " << lts_a_add_b[50] << std::endl;

    }

    基于GPU的并行计算

    #include <iostream>

    #include <mtensor.hpp>

    using namespace matazure;

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

    pointi<2> shape {5, 5};

    tensor<float, 2> ts_a(shape);

    tensor<float, 2> ts_b(shape);

    tensor<float, 2> ts_c(shape);

    fill(ts_a, 1.0f);

    fill(ts_b, 2.0f);

    //构造gpu上的tensor

    cuda::tensor<float, 2> cts_a(shape);

    cuda::tensor<float, 2> cts_b(shape);

    cuda::tensor<float, 2> cts_c(shape);

    //将cpu上的数据拷贝到gpu上

    mem_copy(ts_a, cts_a);

    mem_copy(ts_b, cts_b);

    //在gpu上执行加法操作,这里使用了__device__ lambda, 需要加上nvcc的编译参数--expt-extended-lambda,

    cuda::for_index(shape, [cts_a, cts_b, cts_c] __device__ (pointi<2> index) {

    cts_c(index) = cts_a(index) + cts_b(index);

    });

    //阻塞等待执行完毕, 这是必须的

    //将gpu上数据拷贝会cpu

    mem_copy(cts_c, ts_c);

    //打印输出

    for_each(ts_c, [](float e) {

    printf("%f, ", e);

    });

    printf("/n");

    return 0;

    }

    sample下有更多的示例可供参考

    邮箱 p3.1415@qq.com

    微信 zhangzhimin-tju

    2020-04-10
  • Re: 现在北京首套商贷利率大部分银行还是上浮10%吗?

    2020-03-23
  • Re: Trump有没可能因为新冠的事情下台?

    2020-03-13
  • Re: 【浪潮集团】招聘AI应用性能优化工程师

    2020-03-11
  • Re: 转让在美国的越南米粉餐厅股份

    2020-02-18
  • Re: fortran和cpp的计算效率

    2020-02-13