summaryrefslogtreecommitdiffstats
path: root/resources/ansible_roles/ramspeed
diff options
context:
space:
mode:
Diffstat (limited to 'resources/ansible_roles/ramspeed')
-rw-r--r--resources/ansible_roles/ramspeed/defaults/main.yml11
-rw-r--r--resources/ansible_roles/ramspeed/tasks/main.yml75
-rw-r--r--resources/ansible_roles/ramspeed/templates/memory-metrics.j216
3 files changed, 102 insertions, 0 deletions
diff --git a/resources/ansible_roles/ramspeed/defaults/main.yml b/resources/ansible_roles/ramspeed/defaults/main.yml
new file mode 100644
index 00000000..0cc06cf6
--- /dev/null
+++ b/resources/ansible_roles/ramspeed/defaults/main.yml
@@ -0,0 +1,11 @@
+#############################################################################
+# 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
+#############################################################################
+
+---
+cwd: "{{ ansible_env.HOME }}/qtip/ramspeed"
diff --git a/resources/ansible_roles/ramspeed/tasks/main.yml b/resources/ansible_roles/ramspeed/tasks/main.yml
new file mode 100644
index 00000000..73df35de
--- /dev/null
+++ b/resources/ansible_roles/ramspeed/tasks/main.yml
@@ -0,0 +1,75 @@
+##############################################################################
+# 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: making ramspeed working directory
+ file:
+ path: "{{ cwd }}"
+ state: directory
+ tags: [setup]
+
+- name: download ramspeed/ramsmp
+ unarchive:
+ src: http://www.alasir.com/software/ramspeed/ramsmp-3.5.0.tar.gz
+ dest: "{{ cwd }}"
+ remote_src: yes
+ tags: [setup]
+
+- name: build ramsmp
+ command: ./build.sh
+ args:
+ chdir: "{{ cwd }}/ramsmp-3.5.0"
+ creates: ramsmp
+ tags: [setup]
+
+- name: intmem benchmarking
+ command: ./ramsmp -b 3 -l 5 -p 1
+ args:
+ chdir: "{{ cwd }}/ramsmp-3.5.0"
+ register: ramsmp_intmem_out
+ tags: [run]
+
+- name: floatmem benchmarking
+ command: ./ramsmp -b 6 -l 5 -p 1
+ args:
+ chdir: "{{ cwd }}/ramsmp-3.5.0"
+ register: ramsmp_floatmem_out
+ tags: [run]
+
+- name: collect integer memory metrics from ramspeed
+ collect:
+ string: "{{ ramsmp_intmem_out.stdout }}"
+ patterns:
+ - '^INTEGER\s+BatchRun\s+Copy:\s+?(?P<copy>\d+\.\d+)\sMB/s$'
+ - '^INTEGER\s+BatchRun\s+Scale:\s+?(?P<scale>\d+\.\d+)\sMB/s$'
+ - '^INTEGER\s+BatchRun\s+Add:\s+?(?P<add>\d+\.\d+)\sMB/s$'
+ - '^INTEGER\s+BatchRun\s+Triad:\s+?(?P<triad>\d+\.\d+)\sMB/s$'
+ - '^INTEGER\s+BatchRun\s+AVERAGE:\s+?(?P<average>\d+\.\d+)\sMB/s$'
+ dump: 'ramsmp-intmem.log'
+ register: intmem_metrics
+ tags: [collect]
+
+- name: collect float memory metrics from ramspeed
+ collect:
+ string: "{{ ramsmp_floatmem_out.stdout }}"
+ patterns:
+ - '^FL-POINT\s+BatchRun\s+Copy:\s+?(?P<copy>\d+\.\d+)\sMB/s$'
+ - '^FL-POINT\s+BatchRun\s+Scale:\s+?(?P<scale>\d+\.\d+)\sMB/s$'
+ - '^FL-POINT\s+BatchRun\s+Add:\s+?(?P<add>\d+\.\d+)\sMB/s$'
+ - '^FL-POINT\s+BatchRun\s+Triad:\s+?(?P<triad>\d+\.\d+)\sMB/s$'
+ - '^FL-POINT\s+BatchRun\s+AVERAGE:\s+?(?P<average>\d+\.\d+)\sMB/s$'
+ dump: 'ramsmp-floatmem.log'
+ register: floatmem_metrics
+ tags: [collect]
+
+- name: create memory metrics report
+ template:
+ src: "memory-metrics.j2"
+ dest: "{{ qtip_results }}/{{ inventory_hostname }}/memory-metrics"
+ delegate_to: localhost
+ tags: [report]
diff --git a/resources/ansible_roles/ramspeed/templates/memory-metrics.j2 b/resources/ansible_roles/ramspeed/templates/memory-metrics.j2
new file mode 100644
index 00000000..4f5a8e80
--- /dev/null
+++ b/resources/ansible_roles/ramspeed/templates/memory-metrics.j2
@@ -0,0 +1,16 @@
+Memory
+======
+
+INTEGER
+^^^^^^^
+{{ ('Copy', intmem_metrics['copy'][0])|justify }}
+{{ ('Scale', intmem_metrics['scale'][0])|justify }}
+{{ ('Add', intmem_metrics['add'][0])|justify }}
+{{ ('Triad', intmem_metrics['triad'][0])|justify }}
+
+FL-POINT
+^^^^^^^^
+{{ ('Copy', floatmem_metrics['copy'][0])|justify }}
+{{ ('Scale', floatmem_metrics['copy'][0])|justify }}
+{{ ('Add', floatmem_metrics['copy'][0])|justify }}
+{{ ('Triad', floatmem_metrics['copy'][0])|justify }}