跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [深圳][项目外包] Julia 代码完善(签合同、无著作权)
未分類
21 11 月 2020

[深圳][项目外包] Julia 代码完善(签合同、无著作权)

[深圳][项目外包] Julia 代码完善(签合同、无著作权)

資深大佬 : alsoooooo 3

Julia 代码完善(签合同、无著作权)

代码量:1400 行
酬劳:1000 元人民币
时限:3 个工作日
地点:可线上交流,地点不限

要求及内容
( 1 )非常熟悉 Julia 编程,并具有开发经验
( 2 )了解 Fortran 语言,有参考书辅助可以读懂 Fortran 代码
( 3 )了解软件工程的基本原则
( 4 )懂一点英文
现有 1400 行 Julia 代码半成品,是由机器翻译脚本从 Fortran 翻译而得来的。请在保持代码整体结构的前提下,将此代码完善至可以运行,并对测试例子得出与原 Fortran 代码相同的结果。在完善的过程中需要对每一个 function 自行设计两个 unit test 实例,并完成每个 function 的 unit test 。

代码片段示例
Fortran 源代码
-图
待完善的 Julia 代码半成品
-图

请联系 [email protected]

大佬有話說 (31)

  • 主 資深大佬 : alsoooooo

    可以发邮件或私信索要待完善的代码片段

  • 資深大佬 : nooper

  • 資深大佬 : dnnta

    goooooooooood job

  • 資深大佬 : dlsflh

    哈哈,你最好明示这段代码所属的领域。
    那些科学计算的代码换个学科的人就是看天书。

  • 主 資深大佬 : alsoooooo

    机器翻译的代码示例

    function get_kgroup(nk_irr,nsymq,ski,rg,pg,nnp,gk,gshift,kphase) # #N[811]
    #implicit none #LABEL[#FORTRAN_CONTROL[implicit]] #N[812]
    #integer,intent(in) :: nk_irr, nsymq,rg(3,3,nsymq),pg(3,nsymq),nnp #LABEL[#FORTRAN_CONTROL[integer]] #N[813]
    #real(8),intent(in) :: ski(3,nk_irr) #LABEL[#FORTRAN_CONTROL[real]] #N[814]
    #logical,intent(out) :: gk(nk_irr,nsymq) #LABEL[#FORTRAN_CONTROL[logical]] #N[815]
    #integer,intent(out) :: gshift(3,nk_irr,nsymq) #LABEL[#FORTRAN_CONTROL[integer]] #N[816]
    #complex(8),intent(out) :: kphase(nk_irr,nsymq) #LABEL[#FORTRAN_CONTROL[complex]] #N[817]
    # #N[818]
    #integer :: ik,iop,jop,kop,tmp2(3) #LABEL[#FORTRAN_CONTROL[integer]] #N[819]
    #logical :: flag #LABEL[#FORTRAN_CONTROL[logical]] #N[820]
    #real(8) :: err=0.00001, tmp(3) #LABEL[#FORTRAN_CONTROL[real]] #N[821]
    #real(8),parameter :: pi = acos(-1d0) #LABEL[#FORTRAN_CONTROL[real]] #N[822]
    #complex(8),parameter :: ii = (0,1) #LABEL[#FORTRAN_CONTROL[complex]] #N[823]
    # #N[824]
    gk = false # #N[825]
    flag = false # #N[826]
    kphase = 1e0 # #N[827]
    # #N[828]
    # #N[829]
    for ik = 1 : nk_irr # #N[830]
    for iop = 1 : nsymq # #N[831]
    tmp[1] = sum(rg[1,:,iop]*ski[:,ik])-ski[1,ik] # #N[832]
    tmp[2] = sum(rg[2,:,iop]*ski[:,ik])-ski[2,ik] # #N[833]
    tmp[3] = sum(rg[3,:,iop]*ski[:,ik])-ski[3,ik] # #N[834]
    gshift[1,ik,iop] = nint(tmp[1]) # #N[835]
    gshift[2,ik,iop] = nint(tmp[2]) # #N[836]
    gshift[3,ik,iop] = nint(tmp[3]) # #N[837]
    # #N[838]
    gk[ik,iop] = (abs(tmp[1]-gshift[1,ik,iop])<err) && &(abs(tmp[2]-gshift[2,ik,iop])<err) && &(abs(tmp[3]-gshift[3,ik,iop])<err) # #N[841]
    # #N[842]
    end # #LABEL[#FORTRAN_END[for]] #N[843]
    end # #LABEL[#FORTRAN_END[for]] #N[844]
    # #N[845]
    for ik = 1 : nk_irr # #N[846]
    for iop = 1 : nsymq # #N[847]
    kphase[ik,iop] = exp(-ii*sum(ski[:,ik]*pg[:,iop])*2*pi/nnp) # #N[848]
    end # #LABEL[#FORTRAN_END[for]] #N[849]
    end # #LABEL[#FORTRAN_END[for]] #N[850]
    # #N[851]
    end # #LABEL[#FORTRAN_END[subroutine]get_kgroup] #N[852]
    # #N[853]
    # #N[854]

  • 主 資深大佬 : alsoooooo

    上面对应的原 Fortran 代码

    subroutine get_kgroup(Nk_irr,nsymq,SKI,rg,pg,nnp,gk,Gshift,kphase)
    implicit none
    integer,intent(in) :: Nk_irr, nsymq,rg(3,3,nsymq),pg(3,nsymq),nnp
    real(8),intent(in) :: SKI(3,Nk_irr)
    logical,intent(out) :: gk(Nk_irr,nsymq)
    integer,intent(out) :: Gshift(3,Nk_irr,nsymq)
    complex(8),intent(out) :: kphase(Nk_irr,nsymq)

    integer :: ik,iop,jop,kop,tmp2(3)
    logical :: flag
    real(8) :: err=0.00001, tmp(3)
    real(8),parameter :: pi = acos(-1d0)
    complex(8),parameter :: ii = (0,1)

    gk = .false.
    flag = .false.
    kphase=1d0

    do ik=1,Nk_irr
    do iop=1,nsymq
    tmp(1)=sum(rg(1,:,iop)*SKI(:,ik))-SKI(1,ik)
    tmp(2)=sum(rg(2,:,iop)*SKI(:,ik))-SKI(2,ik)
    tmp(3)=sum(rg(3,:,iop)*SKI(:,ik))-SKI(3,ik)
    Gshift(1,ik,iop)=nint(tmp(1))
    Gshift(2,ik,iop)=nint(tmp(2))
    Gshift(3,ik,iop)=nint(tmp(3))

    gk(ik,iop)=(abs(tmp(1)-Gshift(1,ik,iop))<err).and.&
    &(abs(tmp(2)-Gshift(2,ik,iop))<err).and.&
    &(abs(tmp(3)-Gshift(3,ik,iop))<err)

    end do
    end do

    do ik=1,Nk_irr
    do iop=1,nsymq
    kphase(ik,iop)=exp(-ii*sum(SKI(:,ik)*pg(:,iop))*2*pi/nnp)
    end do
    end do

    end subroutine get_kgroup

  • 主 資深大佬 : alsoooooo

    这个任务不需要你看懂代码在干什么,只需要保证 Fortran 和 Julia 两边跑出一样的结果。我自己干的话可能一天就能弄完,三天是上限

  • 資深大佬 : manning

    一天时间?为什么不自己来呢

  • 資深大佬 : springz

    这不可能有人会接的,自己写吧。

  • 主 資深大佬 : alsoooooo

    我其实更希望找人合作来完善我的 fortran2julia 翻译器。谁有兴趣吗?

  • 資深大佬 : zetary

    看到做科学计算的还有点心动

  • 主 資深大佬 : alsoooooo

    是材料第一性原理计算的一个工具。我不太了解你们这个圈子的人对私活要求是什么,我看到有发表意见的人都说回报低。我这个任务只是开始,想结识合作伙伴,做一个 fortran to julia 的翻译器。雏形已经能跑了,这次需要完善的 Julia 程序就是我的翻译器跑出来的代码。我不愿自己弄的原因是,我需要有另外的视角来看看代码质量,类似于做 audit 。所以先拿出来这个任务试试看谁有意向。来日方长啊,不知道版友为何只看到时薪?

  • 資深大佬 : hugepizza

    @alsoooooo 你想做什么是你的事情 你就算在研究推翻相对论也是你自己的事 找人干活就老老实实按市场价付钱 吹

  • 資深大佬 : xxxy

    可以找相关专业的大学生写下

  • 資深大佬 : zjupigeon

    你可以按照月薪 /22 的公式来计算

  • 主 資深大佬 : alsoooooo

    版主能删帖吗?来错地方了……

  • 資深大佬 : Bijiabo

    @alsoooooo 你这种说法我在一些小企业主那里见到很多,大多情况是压价的常用说辞。和时薪相当是基准要求。

  • 資深大佬 : yzbythesea

    建议别写成招工,改成招志愿者吧,目的原由都写清楚比较好。

    我以前做 HPC 写过 Fortran,但是不会 Julia 。

  • 資深大佬 : diegozhu

    “有些人 996 是有原因的” 不知道想表达什么,隐约有种令人不舒服的味道。

  • 資深大佬 : fengjianxinghun

    @zjupigeon 那也不会有人接,熟悉 fortran 和 julia 的人就很少,愿意做这事的更少。

  • 資深大佬 : fengjianxinghun

    @fengjianxinghun 不熟悉的花的时间就不是他预估时间,研究时间得全部算上。

  • 資深大佬 : chenyu0532

    @alsoooooo 可能你是这么想的,但是你没有让别人相信你是这么想的。。

  • 資深大佬 : alphatoad

    拒绝白嫖=活该 996,哈哈哈哈哈哈

  • 資深大佬 : wdlth

    找几个研究生做志愿者呗

  • 資深大佬 : VHacker1989

    找不到人干活就秀优越…

  • 主 資深大佬 : alsoooooo

    肝完啦!比原来少了 250 行
    哈哈哈哈哈哈哈哈哈哈哈哈哈哈

  • 主 資深大佬 : alsoooooo

    我说了是一上午……

  • 資深大佬 : kaycloud

    你搁这装尼玛呢

  • 資深大佬 : zhengdai1990

    julia 是啥代码,只知道是个女优

  • 資深大佬 : huruwo

    今日

  • 資深大佬 : diegozhu

    哎。怎么说呢。这位连同学,读个水硕混个中科院字人就飘了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具