
marxin
Moses machine translation performance tuning
a project by marxin
Moses is a statistical machine translation system that allows you to automatically train translation models for any language pair. Intention of the project is to tune up existing software, where a glimpse shows that majority of time is consumed by memory allocation, dynamic casting and other calculation non-related stuff. I would like to inspect many techniques (like perf profiling, GCC LTO, GCC profile-guided optimization, code refactoring, OpenTuner, etc.) which may bring really significant performance gain. Moreover, it would be really beneficial to come up with a cookbook that can be used by folk in general. If possible, I would like to create a step-by-step performance improvement graphs.
GCC Performance/Regression Dashboard
a project by marxin
For development purpose, it is very useful to have an infrastructure that can spot regressions based on commit base. Currently, our existing infrastructure runs mainly SPEC benchmark and is cumbersome from perspective of any further development. I would like to build a replacement that will combine buildbot framework with a custom web project (based on Django framework). The web project will be used both for submitting reports coming from a buildbot slave and for UI which will serve plots and data. If you want to inspire a bit more, please visit Chrome Performance Dashboard or Mozilla telemetry. I hope I can make a simple extendable project that is going to eventually replace existing implementation.
kGraft analysis tool
an idea by marxin
kgraft-analysis-tool is a simple tool capable of showing IPA cloning decisions made by modified version of the GCC compiler: https://github.com/marxin/gcc/tree/dump-ipa-clones
GCC bisection tool
an idea by marxin
Introduction
Bugzilla of the GCC compiler is full of errors where the compiler generates a crash report (yeah commonly known as ICE). When isolating an issues, it's very useful to identify which releases are affected, ideally which concrete revision the culprit. The common approach is to utilize git bisect command, however doing that for many issues can be exhausting.
Learn rtags (vim-rtags) how to properly do code completion based on LLVM API
an idea by marxin
Both YouCompleteMe and rtags are powerful tools that provide useful IDE features to both VIM and Emacs editors. Both use llvm front-end in order to provide code completion hints. Suggestion based on YCM are fine, however I believe that rtags is better tool because it has a concept of project and provides for instance GoToDefinition command, one that's not supported by YCM. Goal of the project is to provide better code completion hints for rtags, where one has to filter out and sort results given by the FE. Apart from that, calling code completion for 'myvar.myf^', LLVM prefer to be given 'my_var.^', as it understands one expects member function and variables.
Use LNT tool to set-up periodic SPEC benchmarks
an idea by marxin
Using the LNT tool we can replace our current gcc.opensuse.org website. Apart from LNT, I would also utilize Builbot python build system.
Use C++ static analyzers for GCC codebase
an idea by marxin
I'm planning to experiment with clang-static-analyzer
, cppcheck
and maybe with coverity
:
Wiki page with list of static analyzers
OpenBLAS: test performance on AMD Zen2 and learn more about the implementation
an idea by marxin
OpenBLAS is a high-performance linear algebra library that's implemented mainly with vector instruction directly written in assembly language. The goal of the project is to learn more about the implementation and get familiar with the vector instructions.
drgn: implement crash top-level commands
a project by marxin
Project Description
The goal of the project is to implement a collection of top-level crash
commands in drgn
tool. The commands should provide a top-level overview for anybody who opens a kernel core dump. I plan to select a similar set of commands as seen in crash-python
tool.
Looking for projects around:
Nothing at the moment
Activity