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
bfaacc5b
Commit
bfaacc5b
authored
1 year ago
by
Fernando Pérez Panadero
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
small fix
parent
35603a3f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
73 additions
and
45 deletions
+73
-45
src/Dirac/Diracflw.jl
src/Dirac/Diracflw.jl
+73
-45
No files found.
src/Dirac/Diracflw.jl
View file @
bfaacc5b
...
...
@@ -93,33 +93,50 @@ function Nablanabla!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::Space
end
function
krnl_g5Dslsh
!
(
so
,
U
,
si
,
m0
,
th
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
b
=
Int64
(
CUDA
.
threadIdx
()
.
x
);
r
=
Int64
(
CUDA
.
blockIdx
()
.
x
)
@inbounds
begin
function
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
eps
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
where
{
NI
,
T
}
@timeit
"Integrating flow equations"
begin
for
i
in
1
:
ns
force_gauge
(
ymws
,
U
,
int
.
c0
,
1
,
gp
,
lp
)
bu1
,
ru1
=
up
((
b
,
r
),
1
,
lp
)
bd1
,
rd1
=
dw
((
b
,
r
),
1
,
lp
)
bu2
,
ru2
=
up
((
b
,
r
),
2
,
lp
)
bd2
,
rd2
=
dw
((
b
,
r
),
2
,
lp
)
bu3
,
ru3
=
up
((
b
,
r
),
3
,
lp
)
bd3
,
rd3
=
dw
((
b
,
r
),
3
,
lp
)
bu4
,
ru4
=
up
((
b
,
r
),
4
,
lp
)
bd4
,
rd4
=
dw
((
b
,
r
),
4
,
lp
)
if
int
.
add_zth
add_zth_term
(
ymws
::
YMworkspace
,
U
,
lp
)
end
ymws
.
mom
.=
ymws
.
frc1
U
.=
expm
.
(
U
,
ymws
.
mom
,
2
*
eps
*
int
.
r
)
so
[
b
,
r
]
=
-
0.5
*
(
th
[
1
]
*
U
[
b
,
1
,
r
]
*
dmul
(
Gamma
{
1
},
si
[
bu1
,
ru1
])
+
conj
(
th
[
1
])
*
dag
(
U
[
bd1
,
1
,
rd1
])
*
dmul
(
Gamma
{
1
},
si
[
bd1
,
rd1
])
+
th
[
2
]
*
U
[
b
,
2
,
r
]
*
dmul
(
Gamma
{
2
},
si
[
bu1
,
ru1
])
+
conj
(
th
[
2
])
*
dag
(
U
[
bd1
,
2
,
rd1
])
*
dmul
(
Gamma
{
2
},
si
[
bd1
,
rd1
])
+
th
[
3
]
*
U
[
b
,
3
,
r
]
*
dmul
(
Gamma
{
3
},
si
[
bu1
,
ru1
])
+
conj
(
th
[
3
])
*
dag
(
U
[
bd1
,
3
,
rd1
])
*
dmul
(
Gamma
{
3
},
si
[
bd1
,
rd1
])
+
th
[
4
]
*
U
[
b
,
4
,
r
]
*
dmul
(
Gamma
{
4
},
si
[
bu1
,
ru1
])
+
conj
(
th
[
4
])
*
dag
(
U
[
bd1
,
4
,
rd1
])
*
dmul
(
Gamma
{
4
},
si
[
bd1
,
rd1
])
)
Dslash_sq!
(
dws
.
sAp
,
U
,
psi
,
dpar
,
dws
,
lp
)
dws
.
sp
.=
dws
.
sAp
psi
.=
psi
+
2
*
int
.
r
*
eps
*
dws
.
sp
for
k
in
1
:
NI
force_gauge
(
ymws
,
U
,
int
.
c0
,
1
,
gp
,
lp
)
so
[
b
,
r
]
=
dmul
(
Gamma
{
5
},
so
[
b
,
r
])
if
int
.
add_zth
add_zth_term
(
ymws
::
YMworkspace
,
U
,
lp
)
end
ymws
.
mom
.=
int
.
e0
[
k
]
.*
ymws
.
mom
.+
int
.
e1
[
k
]
.*
ymws
.
frc1
U
.=
expm
.
(
U
,
ymws
.
mom
,
2
*
eps
)
Dslash_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
end
end
end
return
nothing
end
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
where
{
NI
,
T
}
=
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
int
.
eps
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
function
Dslash_sq
!
(
so
,
U
,
si
,
dpar
::
DiracParam
,
dws
::
DiracWorkspace
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
...
...
@@ -210,42 +227,53 @@ function Dslash_sq!(so, U, si, dpar::DiracParam, dws::DiracWorkspace, lp::SpaceP
end
function
krnl_g5Dslsh
!
(
so
,
U
,
si
,
m0
,
th
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
function
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
eps
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
where
{
NI
,
T
}
@timeit
"Integrating flow equations"
begin
for
i
in
1
:
ns
force_gauge
(
ymws
,
U
,
int
.
c0
,
1
,
gp
,
lp
)
b
=
Int64
(
CUDA
.
threadIdx
()
.
x
);
r
=
Int64
(
CUDA
.
blockIdx
()
.
x
)
if
int
.
add_zth
add_zth_term
(
ymws
::
YMworkspace
,
U
,
lp
)
end
@inbounds
begin
ymws
.
mom
.=
ymws
.
frc1
U
.=
expm
.
(
U
,
ymws
.
mom
,
2
*
eps
*
int
.
r
)
bu1
,
ru1
=
up
((
b
,
r
),
1
,
lp
)
bd1
,
rd1
=
dw
((
b
,
r
),
1
,
lp
)
bu2
,
ru2
=
up
((
b
,
r
),
2
,
lp
)
bd2
,
rd2
=
dw
((
b
,
r
),
2
,
lp
)
bu3
,
ru3
=
up
((
b
,
r
),
3
,
lp
)
bd3
,
rd3
=
dw
((
b
,
r
),
3
,
lp
)
bu4
,
ru4
=
up
((
b
,
r
),
4
,
lp
)
bd4
,
rd4
=
dw
((
b
,
r
),
4
,
lp
)
Dslash_sq!
(
dws
.
sAp
,
U
,
psi
,
dpar
,
dws
,
lp
)
dws
.
sp
.=
dws
.
sAp
psi
.=
psi
+
2
*
int
.
r
*
eps
*
dws
.
sp
for
k
in
1
:
NI
force_gauge
(
ymws
,
U
,
int
.
c0
,
1
,
gp
,
lp
)
so
[
b
,
r
]
=
-
0.5
*
(
th
[
1
]
*
dmul
(
Gamma
{
1
},
U
[
b
,
1
,
r
]
*
si
[
bu1
,
ru1
])
+
conj
(
th
[
1
])
*
dmul
(
Gamma
{
1
},
dag
(
U
[
bd1
,
1
,
rd1
])
*
si
[
bd1
,
rd1
])
+
th
[
2
]
*
dmul
(
Gamma
{
2
},
U
[
b
,
2
,
r
]
*
si
[
bu1
,
ru1
])
+
conj
(
th
[
2
])
*
dmul
(
Gamma
{
2
},
dag
(
U
[
bd1
,
2
,
rd1
])
*
si
[
bd1
,
rd1
])
+
th
[
3
]
*
dmul
(
Gamma
{
3
},
U
[
b
,
3
,
r
]
*
si
[
bu1
,
ru1
])
+
conj
(
th
[
3
])
*
dmul
(
Gamma
{
3
},
dag
(
U
[
bd1
,
3
,
rd1
])
*
si
[
bd1
,
rd1
])
+
th
[
4
]
*
dmul
(
Gamma
{
4
},
U
[
b
,
4
,
r
]
*
si
[
bu1
,
ru1
])
+
conj
(
th
[
4
])
*
dmul
(
Gamma
{
4
},
dag
(
U
[
bd1
,
4
,
rd1
])
*
si
[
bd1
,
rd1
])
)
if
int
.
add_zth
add_zth_term
(
ymws
::
YMworkspace
,
U
,
lp
)
so
[
b
,
r
]
=
dmul
(
Gamma
{
5
},
so
[
b
,
r
]
)
end
ymws
.
mom
.=
int
.
e0
[
k
]
.*
ymws
.
mom
.+
int
.
e1
[
k
]
.*
ymws
.
frc1
U
.=
expm
.
(
U
,
ymws
.
mom
,
2
*
eps
)
return
nothing
end
Dslash_sq!
(
dws
.
sAp
,
U
,
psi
,
dpar
,
dws
,
lp
)
function
krnl_g5Dslsh_impr
!
(
so
,
Fcsw
,
csw
,
si
,
lp
::
SpaceParm
{
4
,
6
,
B
,
D
})
where
{
B
,
D
}
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
end
@inbounds
begin
b
=
Int64
(
CUDA
.
threadIdx
()
.
x
);
r
=
Int64
(
CUDA
.
blockIdx
()
.
x
)
I
=
point_coord
((
b
,
r
),
lp
)
TWP
=
false
if
TWP
so
[
b
,
r
]
+=
0.5
*
csw
*
im
*
dmul
(
Gamma
{
5
},(
Fcsw
[
b
,
1
,
r
]
*
dmul
(
Gamma
{
10
},
si
[
b
,
r
])
+
Fcsw
[
b
,
2
,
r
]
*
dmul
(
Gamma
{
11
},
si
[
b
,
r
])
+
Fcsw
[
b
,
3
,
r
]
*
dmul
(
Gamma
{
12
},
si
[
b
,
r
])
-
Fcsw
[
b
,
4
,
r
]
*
dmul
(
Gamma
{
15
},
si
[
b
,
r
])
-
Fcsw
[
b
,
5
,
r
]
*
dmul
(
Gamma
{
14
},
si
[
b
,
r
])
-
Fcsw
[
b
,
6
,
r
]
*
dmul
(
Gamma
{
13
},
si
[
b
,
r
])))
else
so
[
b
,
r
]
+=
0.5
*
csw
*
im
*
dmul
(
Gamma
{
5
},(
Fcsw
[
b
,
1
,
r
]
*
dmul
(
Gamma
{
10
},
si
[
b
,
r
])
+
Fcsw
[
b
,
2
,
r
]
*
dmul
(
Gamma
{
11
},
si
[
b
,
r
])
+
Fcsw
[
b
,
3
,
r
]
*
dmul
(
Gamma
{
12
},
si
[
b
,
r
])
-
Fcsw
[
b
,
4
,
r
]
*
dmul
(
Gamma
{
15
},
si
[
b
,
r
])
-
Fcsw
[
b
,
5
,
r
]
*
dmul
(
Gamma
{
14
},
si
[
b
,
r
])
-
Fcsw
[
b
,
6
,
r
]
*
dmul
(
Gamma
{
13
},
si
[
b
,
r
])))
end
end
return
nothing
end
\ No newline at end of file
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
where
{
NI
,
T
}
=
flw
(
U
,
psi
,
int
::
FlowIntr
{
NI
,
T
},
ns
::
Int64
,
int
.
eps
,
gp
::
GaugeParm
,
dpar
::
DiracParam
,
lp
::
SpaceParm
,
ymws
::
YMworkspace
,
dws
::
DiracWorkspace
)
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