rmuir commented on PR #12737:
URL: https://github.com/apache/lucene/pull/12737#issuecomment-1793549914

   for transparency, this was my testing procedure. I did lots of other things 
such as poking around and running experiments too, but for the basics of 
"running benchmark across different instance types", it can all be easily 
automated with tools like ansible and run all in parallel. the question is, how 
to visualize the data?
   ```
   # login
   ssh -i robkeypair.pem ec2-user@<ip>
   # disable system slowdowns
   sudo grubby --remove-args="selinux=1 security=selinux quiet" 
--args="mitigations=0 random.trust_cpu=1 loglevel=7 selinux=0" 
--update-kernel=ALL && sudo reboot
   # login again
   ssh -i robkeypair.pem ec2-user@<ip>
   -if x86
     # install packages for testing
     sudo yum install -y git g++ make
     # clone avx-turbo
     git clone g...@github.com:travisdowns/avx-turbo.git
     # build avx-turbo
     cd avx-turbo; make
     # load msr module
     sudo modprobe msr
     # run avx-turbo
     sudo ./avx-turbo
     # examine results, look for any oddities
       # look at avx*_imul, avx*_fma, and avx*_fma_t.
       # check ratio of avx512_imul to avx256_imul and look at clock difference
       # check ratio of avx512_fma_t to avx256_fma_t and look at clock 
difference
       # check ratio of avx*_fma_t to avx*_fma (divided by 2 for HT)
     cd ..
     curl -f 
https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-x64_bin.tar.gz
 | tar -zxvf -
   -else aarch64
     sudo yum install -y git
     curl -f 
https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-aarch64_bin.tar.gz
 | tar -zxvf -
   -endif
   # download java
   # configure java (also in case i get disconnected)
   echo 'export JAVA_HOME=/home/ec2-user/jdk-21.0.1' >> ~/.bashrc
   echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
   source ~/.bashrc
   # prevent benchmark interference from daemon
   mkdir ~/.gradle
   echo 'org.gradle.daemon=false' > ~/.gradle/gradle.properties
   # clone lucene
   git clone g...@github.com:rmuir/lucene.git; cd lucene
   # run benchmark (main)
   ./gradlew -p lucene/benchmark-jmh assemble
   java -jar 
lucene/benchmark-jmh/build/benchmarks/lucene-benchmark-jmh-10.0.0-SNAPSHOT.jar 
float -p size=1024
   # run benchmark (patch)
   git checkout float_scalar_fma_unroll
   ./gradlew -p lucene/benchmark-jmh assemble
   java -jar 
lucene/benchmark-jmh/build/benchmarks/lucene-benchmark-jmh-10.0.0-SNAPSHOT.jar 
float -p size=1024
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to