Skip to content
Snippets Groups Projects
Commit 4ab13135 authored by René Heß's avatar René Heß
Browse files

Make it possible to report number of sf kernels

parent 16bf9329
No related branches found
No related tags found
No related merge requests found
[loggers] [loggers]
keys=root,dune.perftool.pdelab.localoperator keys=root,dune.perftool.pdelab.localoperator,dune.perftool.sumfact.vectorization
[handlers] [handlers]
keys=consoleHandler keys=consoleHandler
...@@ -16,6 +16,12 @@ handlers=consoleHandler ...@@ -16,6 +16,12 @@ handlers=consoleHandler
qualname=dune.perftool.pdelab.localoperator qualname=dune.perftool.pdelab.localoperator
propagate=0 propagate=0
[logger_dune.perftool.sumfact.vectorization]
level=INFO
handlers=consoleHandler
qualname=dune.perftool.sumfact.vectorization
propagate=0
[handler_consoleHandler] [handler_consoleHandler]
class=StreamHandler class=StreamHandler
formatter=simpleFormatter formatter=simpleFormatter
......
""" Sum factorization vectorization """ """ Sum factorization vectorization """
import logging
from dune.perftool.loopy.vcl import get_vcl_type_size from dune.perftool.loopy.vcl import get_vcl_type_size
from dune.perftool.loopy.symbolic import SumfactKernel, VectorizedSumfactKernel from dune.perftool.loopy.symbolic import SumfactKernel, VectorizedSumfactKernel
from dune.perftool.generation import (generator_factory, from dune.perftool.generation import (generator_factory,
...@@ -136,10 +138,14 @@ def decide_vectorization_strategy(): ...@@ -136,10 +138,14 @@ def decide_vectorization_strategy():
Note that the vectorization of the quadrature loop is independent of this, Note that the vectorization of the quadrature loop is independent of this,
as it is implemented through a post-processing (== loopy transformation) step. as it is implemented through a post-processing (== loopy transformation) step.
""" """
logger = logging.getLogger(__name__)
from dune.perftool.generation import retrieve_cache_items from dune.perftool.generation import retrieve_cache_items
sumfacts = [i for i in retrieve_cache_items("kernel_default and sumfactnodes")] sumfacts = [i for i in retrieve_cache_items("kernel_default and sumfactnodes")]
sfdict = {} sfdict = {}
logger.debug("decide_vectorization_strategy: Found {} sum factorization nodes".format(len(sumfacts)))
if get_option("vectorize_grads"): if get_option("vectorize_grads"):
# Currently we base our idea here on the fact that we only group sum # Currently we base our idea here on the fact that we only group sum
# factorization kernels with the same input. # factorization kernels with the same input.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment