{"action":"opened","issue":{"url":"https://api.github.com/repos/JOML-CI/JOML/issues/77","repository_url":"https://api.github.com/repos/JOML-CI/JOML","labels_url":"https://api.github.com/repos/JOML-CI/JOML/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/JOML-CI/JOML/issues/77/comments","events_url":"https://api.github.com/repos/JOML-CI/JOML/issues/77/events","html_url":"https://github.com/JOML-CI/JOML/issues/77","id":137508832,"number":77,"title":"Java 9 SIMD and GPU support","user":{"login":"jduke32","id":1905952,"avatar_url":"https://avatars.githubusercontent.com/u/1905952?v=3","gravatar_id":"","url":"https://api.github.com/users/jduke32","html_url":"https://github.com/jduke32","followers_url":"https://api.github.com/users/jduke32/followers","following_url":"https://api.github.com/users/jduke32/following{/other_user}","gists_url":"https://api.github.com/users/jduke32/gists{/gist_id}","starred_url":"https://api.github.com/users/jduke32/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jduke32/subscriptions","organizations_url":"https://api.github.com/users/jduke32/orgs","repos_url":"https://api.github.com/users/jduke32/repos","events_url":"https://api.github.com/users/jduke32/events{/privacy}","received_events_url":"https://api.github.com/users/jduke32/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-03-01T08:37:31Z","updated_at":"2016-03-01T08:37:31Z","closed_at":null,"body":"Hello , I have looked your source codes.\r\nThey are using old technique for Java.\r\nYou can add SIMD native java 9.\r\nJava 9 has IntStream that uses simd\r\n\r\nIntStream.iterate(17, i -> i % 2 == 1 ? 3 * i + 1 : i / 2)\r\n        .takeWhile(i -> i > 1)\r\n        .forEach(System.out::println);\r\n\r\n\r\n  1 public static void testForEach() {\r\n  2          \r\n  3     // Vector addition \r\n  4          \r\n  5     int[] a = new int[SIZE]; \r\n  6     int[] b = new int[SIZE]; \r\n  7     int[] c = new int[SIZE]; \r\n  8          \r\n  9     Arrays.fill(a, 10); \r\n 10     Arrays.fill(b, 20); \r\n 11                 \r\n 12     IntStream.range(0, a.length) \r\n 13              .parallel() \r\n 14              .forEach( id -> c[id] = a[id] + b[id]); \r\n 15          \r\n 16     long end = System.nanoTime(); \r\n 17          \r\n 18     System.out.println(Arrays.toString(c));     \r\n 19 }\r\n\r\nhttp://snatverk.blogspot.com.tr/2014/05/java-streams-in-jdk8-examples.html"}}