Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
LGPU FPP
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Fernando Pérez Panadero
LGPU FPP
Commits
195c4c31
Commit
195c4c31
authored
1 year ago
by
Fernando Pérez Panadero
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Secong try
parent
22707d80
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
94 additions
and
5 deletions
+94
-5
src/Dirac/Diracflw.jl
src/Dirac/Diracflw.jl
+94
-5
No files found.
src/Dirac/Diracflw.jl
View file @
195c4c31
...
...
@@ -4,6 +4,95 @@ import ..YM.flw, ..YM.force_gauge
function
Nablanabla
!
(
so
,
U
,
si
,
dpar
::
DiracParam
,
dws
::
DiracWorkspace
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
# TO BE CONTINUED
if
B
==
BC_SF_AFWB
||
B
==
BC_SF_ORBI
@timeit
"DwdagDw"
begin
@timeit
"SF fix"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_sfbndfix!
(
si
,
si
,
1.0
,
Gamma
{
16
},
lp
)
end
end
@timeit
"Dw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw!
(
st
,
U
,
si
,
dpar
.
m0
,
dpar
.
th
,
lp
)
end
end
@timeit
"SF fix"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_sfbndfix!
(
st
,
si
,
dpar
.
ct
,
Gamma
{
5
},
lp
)
end
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
@timeit
"Dw_improvement"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw_impr!
(
st
,
dws
.
csw
,
dpar
.
csw
,
si
,
lp
)
end
end
end
@timeit
"Dw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw!
(
so
,
U
,
st
,
dpar
.
m0
,
dpar
.
th
,
lp
)
end
end
@timeit
"SF fix"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_sfbndfix!
(
so
,
st
,
dpar
.
ct
,
Gamma
{
5
},
lp
)
end
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
@timeit
"Dw_improvement"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw_impr!
(
so
,
dws
.
csw
,
dpar
.
csw
,
st
,
lp
)
end
end
end
end
else
@timeit
"DwdagDw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw!
(
st
,
U
,
si
,
dpar
.
m0
,
dpar
.
th
,
lp
)
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
@timeit
"Dw_improvement"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw_impr!
(
st
,
dws
.
csw
,
dpar
.
csw
,
si
,
lp
)
end
end
end
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw!
(
so
,
U
,
st
,
dpar
.
m0
,
dpar
.
th
,
lp
)
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
@timeit
"Dw_improvement"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_Dw_impr!
(
so
,
dws
.
csw
,
dpar
.
csw
,
st
,
lp
)
end
end
end
end
end
return
nothing
end
function
Dslash_sq
!
(
so
,
U
,
si
,
dpar
::
DiracParam
,
dws
::
DiracWorkspace
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
...
...
@@ -18,7 +107,7 @@ function Dslash_sq!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::SpaceP
@timeit
"g5Dw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
dws
.
st
,
U
,
si
,
0
.0
,
dpar
.
th
,
lp
)
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
dws
.
st
,
U
,
si
,
-
4
.0
,
dpar
.
th
,
lp
)
end
end
...
...
@@ -39,7 +128,7 @@ function Dslash_sq!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::SpaceP
@timeit
"g5Dw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
so
,
U
,
dws
.
st
,
0
.0
,
dpar
.
th
,
lp
)
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
so
,
U
,
dws
.
st
,
-
4
.0
,
dpar
.
th
,
lp
)
end
end
...
...
@@ -64,7 +153,7 @@ function Dslash_sq!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::SpaceP
else
@timeit
"DwdagDw"
begin
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
dws
.
st
,
U
,
si
,
0
.0
,
dpar
.
th
,
lp
)
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
dws
.
st
,
U
,
si
,
-
4
.0
,
dpar
.
th
,
lp
)
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
...
...
@@ -76,7 +165,7 @@ function Dslash_sq!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::SpaceP
end
CUDA
.
@sync
begin
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
so
,
U
,
dws
.
st
,
0
.0
,
dpar
.
th
,
lp
)
CUDA
.
@cuda
threads
=
lp
.
bsz
blocks
=
lp
.
rsz
krnl_g5Dw!
(
so
,
U
,
dws
.
st
,
-
4
.0
,
dpar
.
th
,
lp
)
end
if
abs
(
dpar
.
csw
)
>
1.0E-10
...
...
@@ -121,7 +210,7 @@ function flw(U, psi, int::FlowIntr{NI,T}, ns::Int64, eps, gp::GaugeParm, dpar::D
ymws
.
mom
.=
int
.
e0
[
k
]
.*
ymws
.
mom
.+
int
.
e1
[
k
]
.*
ymws
.
frc1
U
.=
expm
.
(
U
,
ymws
.
mom
,
2
*
eps
)
D
wdagDw!
(
dws
.
sAp
,
U
,
psi
,
dpar
,
dws
,
dws
.
st
,
lp
)
D
slash_sq!
(
dws
.
sAp
,
U
,
psi
,
dpar
,
dws
,
lp
)
psi
.=
psi
+
2
*
eps
*
int
.
e0
[
k
]
.*
dws
.
sp
.+
2
*
eps
*
int
.
e1
[
k
]
.*
dws
.
sAp
dws
.
sAp
.=
int
.
e0
[
k
]
.*
dws
.
sAp
.+
int
.
e1
[
k
]
.*
dws
.
sp
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment