Open jeffhammond opened 7 years ago
I should add that the performance for the incorrect case indicates that no work as done.
$ grep "Average atom rate" *log
eam.n100.log: Average atom rate: 1101.19 atoms/us
eam.n10.log: Average atom rate: 9.67 atoms/us
eam.n11.log: Average atom rate: 12.76 atoms/us
eam.n12.log: Average atom rate: 16.66 atoms/us
eam.n13.log: Average atom rate: 6.45 atoms/us
eam.n14.log: Average atom rate: 8.96 atoms/us
eam.n15.log: Average atom rate: 10.65 atoms/us
eam.n16.log: Average atom rate: 12.16 atoms/us
eam.n17.log: Average atom rate: 14.24 atoms/us
eam.n18.log: Average atom rate: 15.79 atoms/us
eam.n19.log: Average atom rate: 18.23 atoms/us
eam.n20.log: Average atom rate: 21.12 atoms/us
eam.n21.log: Average atom rate: 22.33 atoms/us
eam.n22.log: Average atom rate: 19.49 atoms/us
eam.n23.log: Average atom rate: 21.67 atoms/us
eam.n24.log: Average atom rate: 22.08 atoms/us
eam.n25.log: Average atom rate: 23.82 atoms/us
eam.n26.log: Average atom rate: 25.63 atoms/us
eam.n27.log: Average atom rate: 21.70 atoms/us
eam.n28.log: Average atom rate: 23.77 atoms/us
eam.n29.log: Average atom rate: 26.88 atoms/us
eam.n30.log: Average atom rate: 26.29 atoms/us
eam.n31.log: Average atom rate: 28.70 atoms/us
eam.n32.log: Average atom rate: 30.57 atoms/us
eam.n33.log: Average atom rate: 27.77 atoms/us
eam.n34.log: Average atom rate: 28.53 atoms/us
eam.n35.log: Average atom rate: 30.45 atoms/us
eam.n36.log: Average atom rate: 30.46 atoms/us
eam.n37.log: Average atom rate: 32.72 atoms/us
eam.n38.log: Average atom rate: 32.69 atoms/us
eam.n39.log: Average atom rate: 31.88 atoms/us
eam.n3.log: Average atom rate: 0.23 atoms/us
eam.n40.log: Average atom rate: 33.18 atoms/us
eam.n41.log: Average atom rate: 35.16 atoms/us
eam.n42.log: Average atom rate: 32.59 atoms/us
eam.n43.log: Average atom rate: 34.55 atoms/us
eam.n44.log: Average atom rate: 37.20 atoms/us
eam.n45.log: Average atom rate: 34.56 atoms/us
eam.n46.log: Average atom rate: 36.10 atoms/us
eam.n47.log: Average atom rate: 36.49 atoms/us
eam.n48.log: Average atom rate: 34.53 atoms/us
eam.n49.log: Average atom rate: 35.86 atoms/us
eam.n4.log: Average atom rate: 0.61 atoms/us
eam.n50.log: Average atom rate: 38.54 atoms/us
eam.n51.log: Average atom rate: 36.93 atoms/us
eam.n52.log: Average atom rate: 606.72 atoms/us
eam.n53.log: Average atom rate: 616.94 atoms/us
eam.n54.log: Average atom rate: 650.27 atoms/us
eam.n55.log: Average atom rate: 661.82 atoms/us
eam.n56.log: Average atom rate: 675.76 atoms/us
eam.n57.log: Average atom rate: 703.17 atoms/us
eam.n58.log: Average atom rate: 718.96 atoms/us
eam.n59.log: Average atom rate: 726.88 atoms/us
eam.n5.log: Average atom rate: 1.23 atoms/us
eam.n60.log: Average atom rate: 759.02 atoms/us
eam.n61.log: Average atom rate: 768.25 atoms/us
eam.n62.log: Average atom rate: 779.04 atoms/us
eam.n63.log: Average atom rate: 810.19 atoms/us
eam.n64.log: Average atom rate: 39.69 atoms/us
eam.n65.log: Average atom rate: 39.83 atoms/us
eam.n66.log: Average atom rate: 38.91 atoms/us
eam.n67.log: Average atom rate: 39.79 atoms/us
eam.n68.log: Average atom rate: 38.71 atoms/us
eam.n69.log: Average atom rate: 37.90 atoms/us
eam.n6.log: Average atom rate: 2.04 atoms/us
eam.n70.log: Average atom rate: 38.68 atoms/us
eam.n71.log: Average atom rate: 39.54 atoms/us
eam.n72.log: Average atom rate: 38.71 atoms/us
eam.n73.log: Average atom rate: 933.20 atoms/us
eam.n74.log: Average atom rate: 927.36 atoms/us
eam.n75.log: Average atom rate: 953.39 atoms/us
eam.n76.log: Average atom rate: 945.81 atoms/us
eam.n77.log: Average atom rate: 956.08 atoms/us
eam.n78.log: Average atom rate: 976.78 atoms/us
eam.n79.log: Average atom rate: 979.80 atoms/us
eam.n7.log: Average atom rate: 3.19 atoms/us
eam.n80.log: Average atom rate: 40.51 atoms/us
eam.n81.log: Average atom rate: 39.83 atoms/us
eam.n82.log: Average atom rate: 39.65 atoms/us
eam.n83.log: Average atom rate: 40.58 atoms/us
eam.n84.log: Average atom rate: 39.82 atoms/us
eam.n85.log: Average atom rate: 39.84 atoms/us
eam.n86.log: Average atom rate: 1008.33 atoms/us
eam.n87.log: Average atom rate: 1031.48 atoms/us
eam.n88.log: Average atom rate: 1032.76 atoms/us
eam.n89.log: Average atom rate: 1031.55 atoms/us
eam.n8.log: Average atom rate: 4.96 atoms/us
eam.n90.log: Average atom rate: 1052.90 atoms/us
eam.n91.log: Average atom rate: 1039.54 atoms/us
eam.n92.log: Average atom rate: 39.44 atoms/us
eam.n93.log: Average atom rate: 39.30 atoms/us
eam.n94.log: Average atom rate: 40.35 atoms/us
eam.n95.log: Average atom rate: 40.24 atoms/us
eam.n96.log: Average atom rate: 39.66 atoms/us
eam.n97.log: Average atom rate: 1117.49 atoms/us
eam.n98.log: Average atom rate: 1098.96 atoms/us
eam.n99.log: Average atom rate: 1109.59 atoms/us
eam.n9.log: Average atom rate: 6.87 atoms/us
Is this a bug in your CoMD implementation, in CUB or somewhere else?
Software
This repo with
3c4bc9f290b7bd9d13e192a9f5a2e1519ba394b0
,cub-1.6.4
, and GCC 4.8.5.Hardware
Input
Output
As you can see below, in 98 tests, I get an answer accurate to 3 decimals 50 times, an answer accurate to less than 3 decimals 9 times, and the nonsensical answer of zero 39 times.
The OpenMP reference implementation is accurate to at least three decimals for every one of these cases.