{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/openj9/issues/2585","repository_url":"https://api.github.com/repos/eclipse/openj9","labels_url":"https://api.github.com/repos/eclipse/openj9/issues/2585/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/openj9/issues/2585/comments","events_url":"https://api.github.com/repos/eclipse/openj9/issues/2585/events","html_url":"https://github.com/eclipse/openj9/issues/2585","id":349840621,"node_id":"MDU6SXNzdWUzNDk4NDA2MjE=","number":2585,"title":"Building OpenJ9 for e500v2 core equipped SoC","user":{"login":"lmajewski","id":9746192,"node_id":"MDQ6VXNlcjk3NDYxOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/9746192?v=4","gravatar_id":"","url":"https://api.github.com/users/lmajewski","html_url":"https://github.com/lmajewski","followers_url":"https://api.github.com/users/lmajewski/followers","following_url":"https://api.github.com/users/lmajewski/following{/other_user}","gists_url":"https://api.github.com/users/lmajewski/gists{/gist_id}","starred_url":"https://api.github.com/users/lmajewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmajewski/subscriptions","organizations_url":"https://api.github.com/users/lmajewski/orgs","repos_url":"https://api.github.com/users/lmajewski/repos","events_url":"https://api.github.com/users/lmajewski/events{/privacy}","received_events_url":"https://api.github.com/users/lmajewski/received_events","type":"User","site_admin":false},"labels":[{"id":697962585,"node_id":"MDU6TGFiZWw2OTc5NjI1ODU=","url":"https://api.github.com/repos/eclipse/openj9/labels/comp:jit","name":"comp:jit","color":"1d76db","default":false},{"id":822706839,"node_id":"MDU6TGFiZWw4MjI3MDY4Mzk=","url":"https://api.github.com/repos/eclipse/openj9/labels/userRaised","name":"userRaised","color":"bfdadc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":100,"created_at":"2018-08-12T20:16:53Z","updated_at":"2018-10-18T17:14:46Z","closed_at":null,"author_association":"NONE","body":"Dear All,\r\n\r\nI'm trying to build OpenJ9 on the PPC SoC equipped with e500v2 core. This core doesn't have the AltiVec IP block (Instead it uses the SPE extension for floating point calculation).\r\n\r\nThe problem seems to be with the OpenJ9 assumption that all supported cores support AltiVec instructions. One of the assembly tuned files:\r\n./openj9/runtime/compiler/p/runtime/J9PPCCRC32.spp\r\n\r\nThis is the __crc32_vpmsum [1] optimized implementation of CRC32 calculation for 16B data blocks.\r\n\r\nIs there any C implementation of this function available? Or maybe one for SPE assembler?\r\n\r\nPlease correct me if I'm wrong, but it seems to me that one would need to:\r\n\r\n- Rewrite the [1] in C and then allow gcc to optimize it for e500_v2 core \r\n\r\nor \r\n\r\n- Rewrite from scratch the [1] to support SPE assembler instructions instead of altivec\r\n\r\nPersonally, I would prefer the first option with C, but I'm not sure what would be the performance impact\r\non OpenJ9.\r\n\r\nHas anybody tried to run OpenJ9 on e500_v2? \r\n\r\nThanks in advance,\r\nŁukasz"},"comment":{"url":"https://api.github.com/repos/eclipse/openj9/issues/comments/431090410","html_url":"https://github.com/eclipse/openj9/issues/2585#issuecomment-431090410","issue_url":"https://api.github.com/repos/eclipse/openj9/issues/2585","id":431090410,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTA5MDQxMA==","user":{"login":"PTamis","id":43139981,"node_id":"MDQ6VXNlcjQzMTM5OTgx","avatar_url":"https://avatars0.githubusercontent.com/u/43139981?v=4","gravatar_id":"","url":"https://api.github.com/users/PTamis","html_url":"https://github.com/PTamis","followers_url":"https://api.github.com/users/PTamis/followers","following_url":"https://api.github.com/users/PTamis/following{/other_user}","gists_url":"https://api.github.com/users/PTamis/gists{/gist_id}","starred_url":"https://api.github.com/users/PTamis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PTamis/subscriptions","organizations_url":"https://api.github.com/users/PTamis/orgs","repos_url":"https://api.github.com/users/PTamis/repos","events_url":"https://api.github.com/users/PTamis/events{/privacy}","received_events_url":"https://api.github.com/users/PTamis/received_events","type":"User","site_admin":false},"created_at":"2018-10-18T17:14:46Z","updated_at":"2018-10-18T17:14:46Z","author_association":"NONE","body":"@ymanton FP cannot be excluded.\r\nI tested tomcat to see the load time and it took considerable time to load along with all its apps.\r\nI believe that FP is the bottleneck and it took so much time to load. FP tests alone are getting 30x times slower indeed.\r\n\r\n@shingarov `CC=powerpc-linux-gnuspe-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/` as an environmental variable\r\n\r\nconfiguration comes from ELDK 5.6 which is based on yocto daisy 1.6. I took configuration from there in order to make the native build. Later I will try also the cross compile with a yocto recipe.\r\n\r\nBut if you explicitly say to the gcc `mcpu=powerpc` I guess the wrong one will be used and that's why the warnings being produced. This is hard coded to the common.mk file\r\n\r\nEither way even with the ` -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double` I did not notice any performance difference."}}
{"actor":{"display_login":"PTamis"}}