Create working directory:
mkdir -p ~/forge/openmp4
cd ~/forge/openmp4
Clone LLVM & Compiler Runtime & Clang sources:
| // $ cat makefile | |
| // CUPTI = /opt/cuda/extras/CUPTI | |
| // | |
| // all: cupti | |
| // | |
| // cupti: cupti.cu | |
| // nvcc -I$(CUPTI)/include -arch=sm_30 $< -o $@ -L$(CUPTI)/lib64 -lcupti -Xlinker -rpath=$(CUPTI)/lib64 | |
| // | |
| // clean: | |
| // rm -rf cupti |
| template<class PriorityEvaluation, class TProcInfo> | |
| class ProcInfoWithPriority : public TProcInfo | |
| { | |
| }; | |
| template<class TProcInfo, class TCustom = void> | |
| class ProcInfoVisitor | |
| { | |
| }; | |
| // This sketch essentially checks if all elements of AVX vector are greater than zero | |
| // In infinite loop we ensure equality of two implementations | |
| // | |
| // gcc -mavx cmp_check.c -o cmp_check -O3 -ffast-math | |
| #include <assert.h> | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #include <x86intrin.h> |
| // AVX-512 horizontal multiply for k1om (Intel Xeon Phi Knights Corner) | |
| // | |
| // (c) 2016 Dmitry Mikushin [email protected] | |
| // | |
| // $ icc -mmic -std=c99 -O3 reduce_mul.c -o reduce_mul | |
| // $ micnativeloadex ./reduce_mul | |
| // -0.004276 vs -0.004276 | |
| #include <immintrin.h> | |
| #include <stdio.h> |
| // AVX-512 swizzle in native assembly for k1om (Intel Xeon Phi Knights Corner) | |
| // | |
| // (c) 2016 Dmitry Mikushin [email protected] | |
| // | |
| // $ icc -no-gcc -mmic -O3 -std=c99 test_swizzle.c -o test_swizzle | |
| // $ micnativeloadex ./test_swizzle | |
| // 1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 | |
| // 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000 | |
| #include <immintrin.h> |
| JNIEXPORT jobject JNICALL Java_..._getValue( | |
| JNIEnv *env, jobject ...) | |
| { | |
| ... | |
| jobject resultObj = result.toJava().getObject(); | |
| return resultObj; // Not NULL! | |
| } | |
| // Log shows: |
| From b4a79a41f995b27038011f92f0da3c6852a8596c Mon Sep 17 00:00:00 2001 | |
| From: Dmitry Mikushin <[email protected]> | |
| Date: Wed, 13 Sep 2017 03:28:26 +0300 | |
| Subject: [PATCH] Make Alpine 2.21 to bounce all selected messages | |
| --- | |
| alpine/mailcmd.c | 5 ----- | |
| alpine/reply.c | 12 ++++++------ | |
| 2 files changed, 6 insertions(+), 11 deletions(-) |
| #ifndef TIMING_H | |
| #define TIMING_H | |
| #if defined(_WIN32) | |
| #define CLOCK_REALTIME_WIN32 0 | |
| #include <windows.h> | |
| struct timespec_win32 | |
| { |
| Welcome to Ubuntu 19.10! | |
| [ 7.111555] systemd[1]: Failed to bump fs.file-max, ignoring: Invalid argument | |
| [ 7.149252] systemd[1]: File /lib/systemd/system/systemd-journald.service:12 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup. | |
| [ 7.150764] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.) | |
| [ 7.165346] systemd[1]: /lib/systemd/system/dbus.socket:4: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket ��→ /r. | |
| [ 7.194813] random: systemd: uninitialized urandom read (16 bytes read) | |
| [ 7.195455] systemd[1]: Reached target Remote File Systems. | |
| [ OK ] Reached target Remote File Systems. | |
| [ 7.210891] random: systemd: uninitialized urandom read (16 bytes read) |