1
alsoooooo OP 可以发邮件或私信索要待完善的代码片段
|
2
nooper 2020-11-21 12:09:05 +08:00 via iPhone
😓😓😓😓
|
3
dnnta 2020-11-21 12:10:45 +08:00
goooooooooood job
|
4
dlsflh 2020-11-21 12:17:20 +08:00 via Android
哈哈,你最好明示这段代码所属的领域。
那些科学计算的代码换个学科的人就是看天书。 |
5
alsoooooo OP 机器翻译的代码示例
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] |
6
alsoooooo OP 上面对应的原 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 |
7
alsoooooo OP 这个任务不需要你看懂代码在干什么,只需要保证 Fortran 和 Julia 两边跑出一样的结果。我自己干的话可能一天就能弄完,三天是上限
|
8
manning 2020-11-21 13:52:27 +08:00
一天时间?为什么不自己来呢
|
9
springz 2020-11-21 15:01:12 +08:00
这不可能有人会接的,自己写吧。
|
10
alsoooooo OP 我其实更希望找人合作来完善我的 fortran2julia 翻译器。谁有兴趣吗?
|
11
zetary 2020-11-21 16:34:44 +08:00 via iPhone
看到做科学计算的还有点心动🤣Julia 确实挺好玩的
|
12
alsoooooo OP 是材料第一性原理计算的一个工具。我不太了解你们这个圈子的人对私活要求是什么,我看到有发表意见的人都说回报低。我这个任务只是开始,想结识合作伙伴,做一个 fortran to julia 的翻译器。雏形已经能跑了,这次需要完善的 Julia 程序就是我的翻译器跑出来的代码。我不愿自己弄的原因是,我需要有另外的视角来看看代码质量,类似于做 audit 。所以先拿出来这个任务试试看谁有意向。来日方长啊,不知道版友为何只看到时薪?
|
13
hugepizza 2020-11-21 17:54:29 +08:00 via iPhone 8
@alsoooooo 你想做什么是你的事情 你就算在研究推翻相对论也是你自己的事 找人干活就老老实实按市场价付钱 吹🐂鼻没用
|
14
xxxy 2020-11-21 17:55:39 +08:00
可以找相关专业的大学生写下
|
15
zjupigeon 2020-11-21 18:57:55 +08:00
你可以按照月薪 /22 的公式来计算
|
16
alsoooooo OP 版主能删帖吗?来错地方了……
|
18
yzbythesea 2020-11-21 19:31:15 +08:00
建议别写成招工,改成招志愿者吧,目的原由都写清楚比较好。
我以前做 HPC 写过 Fortran,但是不会 Julia 。 |
19
diegozhu 2020-11-21 19:34:21 +08:00 1
“有些人 996 是有原因的” 不知道想表达什么,隐约有种令人不舒服的味道。
|
20
fengjianxinghun 2020-11-21 19:44:04 +08:00
@zjupigeon 那也不会有人接,熟悉 fortran 和 julia 的人就很少,愿意做这事的更少。
|
21
fengjianxinghun 2020-11-21 19:45:01 +08:00
@fengjianxinghun 不熟悉的花的时间就不是他预估时间,研究时间得全部算上。
|
22
chenyu0532 2020-11-21 19:59:33 +08:00
@alsoooooo 可能你是这么想的,但是你没有让别人相信你是这么想的。。
|
23
alphatoad 2020-11-21 20:00:18 +08:00 8
拒绝白嫖=活该 996,哈哈哈哈哈哈
|
24
wdlth 2020-11-21 20:34:51 +08:00
找几个研究生做志愿者呗
|
25
VHacker1989 2020-11-21 23:59:06 +08:00 2
找不到人干活就秀优越...
|
26
alsoooooo OP 肝完啦!比原来少了 250 行
哈哈哈哈哈哈哈哈哈哈哈哈哈哈 |
27
alsoooooo OP 我说了是一上午……
|
28
kaycloud 2020-11-22 11:42:33 +08:00 via Android
你搁这装尼玛呢
|
29
zhengdai1990 2020-11-22 15:56:46 +08:00 via iPhone
julia 是啥代码,只知道是个女优
|
30
huruwo 2020-11-23 14:26:55 +08:00
今日
|
31
diegozhu 2020-11-24 10:14:45 +08:00
哎。怎么说呢。这位连同学,读个水硕混个中科院字人就飘了。
|
32
alsoooooo OP 嗯,是挺飘的 :-)
|