Skip to content

Instantly share code, notes, and snippets.

View keisukefukuda's full-sized avatar

Keisuke Fukuda keisukefukuda

View GitHub Profile
@keisukefukuda
keisukefukuda / exafmm_p2p.aspen
Created October 30, 2013 15:51
exaFMM P2P kernel model file
// non-SIMD P2P kernel model
model exaFMM_P2P {
// Double precision
param wordSize = 8
param Ni = 20
param Nj = 20
param mutual = 1
data trgBodies[Ni * 3 * wordSize]
data srcBodies[Nj * 3 * wordSize]
@keisukefukuda
keisukefukuda / measure_sqrt_flops.cpp
Created December 27, 2013 01:21
Measure #FLOP of sqrt() function using PAPI.
/*
* measure_sqrt_flops.cpp
* Copyright (C) 2013 Keisuke Fukuda
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
@keisukefukuda
keisukefukuda / streamsampler.cpp
Created February 17, 2014 06:54
Random sampling from a data stream using Reservoir algorithm.
// Copyright(C) 2014 by Keisuke Fukuda
// License: MIT License
/*
// http://en.wikipedia.org/wiki/Reservoir_sampling
Reservoir sampling
array R[k]; // result
integer i, j;
# Removing old versions of LLVM, Clang, DragonEgg, and Byfl from /tmp/fukuda-byfl-build
# Downloading LLVM into /tmp/fukuda-byfl-build
Checked out revision 203207.
# Downloading Clang revision 203207 into /tmp/fukuda-byfl-build
Checked out revision 203207.
# Downloading Clang RT revision 203207 into /tmp/fukuda-byfl-build
Checked out revision 203207.
# Downloading DragonEgg revision 203207 into /tmp/fukuda-byfl-build
Checked out revision 203207.
# Downloading Byfl into /tmp/fukuda-byfl-build
# Compiling DragonEgg
Compiling utils/TargetInfo.cpp
Linking TargetInfo
Compiling Aliasing.cpp
Compiling Backend.cpp
Compiling Cache.cpp
Compiling ConstantConversion.cpp
Compiling Convert.cpp
Compiling Debug.cpp
Compiling DefaultABI.cpp
# Compiling Byfl
make[1]: Entering directory `/tmp/fukuda-byfl-build/byfl/build/lib'
make[1]: Entering directory `/tmp/fukuda-byfl-build/byfl/build/tools'
make[2]: Entering directory `/tmp/fukuda-byfl-build/byfl/build/lib/byfl'
make[2]: Circular opcode2name <- opcode2name.cpp dependency dropped.
make[2]: Entering directory `/tmp/fukuda-byfl-build/byfl/build/tools/postproc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/fukuda-byfl-build/byfl/build/tools/postproc'
make[2]: Entering directory `/tmp/fukuda-byfl-build/byfl/build/tools/wrappers'
make[2]: Nothing to be done for `all'.
#!/bin/sh
# -j [N] : same as "make -j N"
# -c : Compile only (not download the code)
# -d : Download only (not configure/compile the code)
#-------------------------------------
# Directory you want to install byfl
INSTALL_DIR=$HOME/local/byfl2
# Temporary directory. Should not be on NFS.
#!/bin/sh
INSTALL_DIR=$HOME/local/byfl
GCC_ROOT=$HOME/local/gcc-4.8.3
GCC=${GCC_ROOT}/bin/gcc
GXX=${GCC_ROOT}/bin/g++
export PERL5LIB=$INSTALL_DIR/share/perl5:$PERL5LIB
export PATH=$INSTALL_DIR/bin:$PATH
// Stupidly simple scal & axpy example
#include <cstdlib>
#include <ctime>
#include <iostream>
#ifndef REAL
# define REAL double
#endif
// Stupidly simple scal & axpy example
#include <cstdlib>
#include <ctime>
#include <iostream>
#ifndef REAL
# define REAL double
#endif