6 Commits

Author SHA1 Message Date
4eee23f081 Run on GPU
Some checks failed
MetagraphOptimization_CI / docs (push) Failing after 5m43s
MetagraphOptimization_CI / test (push) Failing after 6m2s
2024-07-09 23:19:25 +02:00
dee44dad66 Small fixes
Some checks failed
MetagraphOptimization_CI / test (push) Failing after 1m31s
MetagraphOptimization_CI / docs (push) Failing after 1m38s
2024-07-05 02:15:03 +02:00
b784720859 Minor fixes and commints 2024-07-04 20:40:22 +02:00
813d40cd30 Working state
Some checks failed
MetagraphOptimization_CI / docs (push) Failing after 1m40s
MetagraphOptimization_CI / test (push) Failing after 1m47s
2024-07-04 20:24:39 +02:00
92f534f6bf Fix congruent ph script
Some checks failed
MetagraphOptimization_CI / test (push) Failing after 1m35s
MetagraphOptimization_CI / docs (push) Failing after 1m39s
2024-07-04 17:03:18 +02:00
55501c15c8 WIP 2024-07-04 15:41:13 +02:00
10 changed files with 37 additions and 185 deletions

4
.gitattributes vendored
View File

@@ -1,5 +1,3 @@
input/AB->ABBBBBBBBB.txt filter=lfs diff=lfs merge=lfs -text
input/AB->ABBBBBBB.txt filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs
*.gif filter=lfs diff=lfs merge=lfs
*.jld2 filter=lfs diff=lfs merge=lfs
*.zip filter=lfs diff=lfs merge=lfs -text

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +1,25 @@
# patch QEDprocesses
# see issue https://github.com/QEDjl-project/QEDprocesses.jl/issues/77
@inline function QEDprocesses.number_particles(
proc_def::QEDbase.AbstractProcessDefinition, ::Type{PS}
proc_def::QEDbase.AbstractProcessDefinition,
::Type{PS},
) where {
DIR<:QEDbase.ParticleDirection,
PT<:QEDbase.AbstractParticleType,
EL<:AbstractFourMomentum,
PS<:ParticleStateful{DIR,PT,EL},
DIR <: QEDbase.ParticleDirection,
PT <: QEDbase.AbstractParticleType,
EL <: AbstractFourMomentum,
PS <: ParticleStateful{DIR, PT, EL},
}
return QEDprocesses.number_particles(proc_def, DIR(), PT())
end
@inline function QEDcore.ParticleStateful{DIR, SPECIES}(
mom::AbstractFourMomentum,
) where {DIR <: ParticleDirection, SPECIES <: AbstractParticleType}
return ParticleStateful(DIR(), SPECIES(), mom)
end
@inline function QEDcore.ParticleStateful{DIR, SPECIES, EL}(
mom::EL,
) where {DIR <: ParticleDirection, SPECIES <: AbstractParticleType, EL <: AbstractFourMomentum}
return ParticleStateful(DIR(), SPECIES(), mom)
end

View File

@@ -16,7 +16,9 @@ function get_compute_function(graph::DAG, instance, machine::Machine)
"function compute_$(functionId)(data_input::$(input_type(instance))) $(initCaches); $(assignInputs); $code; return $resSym; end",
)
return expr
func = eval(expr)
return func
end
"""
@@ -33,22 +35,22 @@ function get_cuda_kernel(graph::DAG, instance, machine::Machine)
functionId = to_var_name(UUIDs.uuid1(rng[1]))
resSym = eval(gen_access_expr(entry_device(tape.machine), tape.outputSymbol))
expr = Meta.parse(
"function compute_$(functionId)(input_vector, output_vector, n::Int64)
id = (blockIdx().x - 1) * blockDim().x + threadIdx().x
if (id > n)
return
end
@inline data_input = input_vector[id]
$(initCaches)
$(assignInputs)
$code
@inline output_vector[id] = $resSym
return nothing
end"
)
expr = Meta.parse("function compute_$(functionId)(input_vector, output_vector, n::Int64)
id = (blockIdx().x - 1) * blockDim().x + threadIdx().x
if (id > n)
return
end
@inline data_input = input_vector[id]
$(initCaches)
$(assignInputs)
$code
@inline output_vector[id] = $resSym
return nothing
end")
return expr
func = eval(expr)
return func
end
"""