############################################################################# # Copyright (c) 2017 ZTE Corporation and others. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################# - name: make unixbench working directory file: path: "{{ workdir }}" state: directory - name: downloading unixbench source code get_url: url: https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz dest: "{{ workdir }}" checksum: "sha256:3a6bb00f270a5329682dff20fd2c1ab5332ef046eb54a96a0d7bd371005d31a3" - name: extracting unixbench source code # TODO(yujunz) unarchive may not work with long path (local: macOS, workdir: /root/qtip-workdir-20170423-0836/) command: "tar zxf byte-unixbench-5.1.3.tar.gz" args: chdir: "{{ workdir }}" creates: byte-unixbench-5.1.3 - name: build UnixBench command: "make" args: chdir: "{{ workdir }}/byte-unixbench-5.1.3/UnixBench" creates: Run - name: run whetstone and dhrystone shell: "./Run -i {{ iterations }} -c {{ parallel_copies }} dhrystone whetstone" args: chdir: "{{ workdir }}/byte-unixbench-5.1.3/UnixBench" register: unixbench_out - name: generating log filename set_fact: logfile: "{{ qtip_results }}/unixbench.log" - name: saving output to log copy: content: "{{ unixbench_out.stdout }}" dest: "{{ logfile }}" delegate_to: localhost - name: saving unixbench output to log copy: content: "{{ unixbench_out.stdout }}" dest: "{{ logfile }}" delegate_to: localhost - name: collecting arithmetic metrics from unixbench collect: string: "{{ lookup('file', logfile) }}" patterns: # Dhrystone 2 using register variables 116700.0 29223521.3 2504.2 # Double-Precision Whetstone 55.0 3720.5 676.5 - '^Dhrystone 2 using register variables\s+(\d+\.\d+)\s+(?P\d+\.\d+)\s+(\d+\.\d+)' - '^Double-Precision Whetstone\s+(\d+\.\d+)\s+(?P\d+\.\d+)\s+(\d+\.\d+)' register: arithmetic_metrics delegate_to: localhost - name: creating arithmetic metrics report template: src: arithmetic-metrics.j2 dest: "{{ qtip_results }}/arithmetic-metrics" delegate_to: localhost